Depuração vs. Lançamento nas configurações de compilação do Delphi 1/3

01

de 03

Configurações de compilação - Base: depuração, lançamento

Gerente de Projetos Delphi
Gerente de Projetos Delphi.Zarko Gajic

A janela Gerenciador de projetos em seu Delphi (RAD Studio) O IDE exibe e organiza o conteúdo do seu grupo de projetos atual e todos os projetos que ele contém. Ele listará todas as unidades que fazem parte do seu projeto, bem como todos os formulários e arquivos de recursos incluídos.

A seção Configurações de compilação listará várias configurações de compilação que você tem para o seu projeto.

Alguns mais recentes (para ser correto: a partir de Delphi 2007) As versões do Delphi possuem duas (três) configurações de compilação padrão: DEBUG e RELEASE.

O artigo Condicional Compilação 101 menciona configurações de compilação, mas não explica a diferença em detalhes.

Depuração vs. Liberação

Como você pode ativar cada uma das configurações de compilação que você vê no Gerente de Projeto e compilar seu projeto produzindo um arquivo executável diferente, a questão é qual é a diferença entre Debug e Release?

instagram viewer

O próprio nome: "debug" e "release" devem apontar na direção certa.

  • A configuração de depuração deve estar ativa e usada enquanto estivermos desenvolvendo, depurando e alterando seu aplicativo.
  • A configuração da versão deve ser ativada quando estivermos construindo seu aplicativo para que o arquivo executável produzido seja enviado aos usuários.

No entanto, a questão permanece: qual é a diferença? O que você pode fazer enquanto "debug" está ativo e o que está incluído no arquivo executável final vs. como é o executável quando "release" é aplicado?

Configurações de compilação

Por padrão, existem três (embora no Gerente de Projeto você veja apenas duas) configurações de compilação criadas por Delphi quando você inicia um novo projeto. Esses são Base, Debug e Release.

o Configuração básica atua como um conjunto básico de valores de opção que é usado em todas as configurações criadas posteriormente.

Os valores das opções mencionados são os compilando e vinculação e outro conjunto de opções que você pode alterar para o seu projeto usando a caixa de diálogo Opções do projeto (menu principal: Projeto - Opções).

o Configuração de depuração estende o Base desabilitando a otimização e habilitando a depuração, além de definir opções de sintaxe específicas.

o Liberar configuração estende o Base para não produzir informações simbólicas de depuração, o código não é gerado para chamadas TRACE e ASSERT, o que significa que o tamanho do seu executável é reduzido.

Você pode adicionar suas próprias configurações de compilação e excluir as configurações padrão de Depuração e Liberação, mas não pode excluir a configuração Base.

As configurações de compilação são salvas no arquivo do projeto (.dproj). O DPROJ é um arquivo XML, veja como a seção com configurações de compilação:

00400000.. \ $ (Configuração) \ $ (Plataforma) WinTypes = Windows; WinProcs = Windows; DbiTypes = BDE; DbiProcs = BDE; $ (DCC_UnitAlias). \ $ (Configuração) \ $ (Plataforma) DEBUG; $ (DCC_Define) falso. verdade. falso. RELEASE; $ (DCC_Define) 0. falso.

Obviamente, você não alterará o arquivo DPROJ manualmente, ele é mantido pelo Delphi.

Você * pode * renomear as configurações de compilação, * pode * alterar as configurações de cada configuração de compilação, * pode * fazer com que "release" seja para depuração e "debug" seja otimizado para seus clientes. Portanto, você não precisa saber o que está fazendo :)

Compilação, Construção, Corrida

Enquanto você trabalha no seu aplicativo, desenvolvendo-o, é possível compilar, construir e executar o aplicativo diretamente do IDE. Compilar, criar e executar produzirá o arquivo executável.

A compilação verificará seu código e compilará o aplicativo - levando em consideração apenas os arquivos que foram alterados desde a última compilação. Compilar produz arquivos DCU.

Edifício é uma extensão da compilação, onde todas as unidades (mesmo as que não foram alteradas) são compiladas. Ao alterar as opções do projeto, você deve criar!

A execução compila o código e executa o aplicativo. Você pode executar com depuração (F9) ou sem depuração (Ctrl + Shift + F9). Se executado sem depuração, o depurador incorporado ao IDE não será chamado - seus pontos de interrupção de depuração "não" funcionarão.

Agora que você sabe como e onde as configurações de compilação são salvas, vamos ver a diferença entre as compilações de depuração e versão.

02

de 03

Configuração da compilação: DEBUG - para depuração e desenvolvimento

Configuração de compilação de depuração no Delphi
Debug Build Configuration no Delphi.Zarko Gajic

A configuração padrão de compilação Debug, que você pode localizar no Gerente de Projeto do seu projeto Delphi, é criada pelo Delphi quando você criou um novo aplicativo / projeto.

A configuração de depuração desativa a otimização e habilita a depuração.

Para editar a configuração da compilação: clique com o botão direito do mouse no nome da configuração, selecione "Editar" no menu de contexto e você verá a caixa de diálogo Opções do projeto.

Opções de depuração

Como a depuração estende a compilação da configuração Base, as configurações que têm um valor diferente serão exibidas em negrito.

Para depuração (e, portanto, depuração), as opções específicas são:

  • Delphi Compiler - Compilação - Geração de código - Otimização desativada - o compilador NÃO executará várias otimizações de código, como colocar variáveis ​​nos registros da CPU, eliminar subexpressões comuns e gerar variáveis ​​de indução.
  • Delphi Compiler - Compilação - Geração de código - Empilhar quadros ON - os quadros de pilha são sempre gerados para procedimentos e funções, mesmo quando não são necessários.
  • Delphi Compiler - Compilação - Depuração - Informações de depuração ativadas - quando um programa ou unidade é compilado com esta opção ativada, o depurador integrado permite que você monitore e defina pontos de interrupção. As informações de depuração ativadas não afetam o tamanho ou a velocidade do programa executável - as informações de depuração são compiladas nas DCUs e não são vinculadas ao executável.
  • Delphi Compiler - Compilação - Depuração - Símbolos locais LIGADOS - Quando um programa ou unidade é compilado com esta opção ativada, o depurador integrado permite examinar e modificar as variáveis ​​locais do módulo. Símbolos locais "ativados" não afetam o tamanho ou a velocidade do programa executável.

NOTA: por padrão, o "use debug .dcus" opção está desativada. Ativar esta opção permite que você debugar o código fonte Delphi VCL (defina um ponto de interrupção no VCL)

Vamos agora ver o que é "Release" ...

03

de 03

Configuração de compilação: RELEASE - para distribuição pública

Delphi Release Build Configuration
Delphi Release Build Configuration.Zarko Gajic

A versão padrão da configuração de compilação, que você pode localizar no gerente de projeto do seu projeto Delphi, é criada pelo Delphi quando você cria um novo aplicativo / projeto.

A configuração de liberação habilita a otimização e desabilita a depuração, o código não é gerado para chamadas TRACE e ASSERT, o que significa que o tamanho do seu executável é reduzido.

Para editar a configuração da compilação: clique com o botão direito do mouse no nome da configuração, selecione "Editar" no menu de contexto e você verá a caixa de diálogo Opções do projeto.

Opções de Liberação

Como o release estende a compilação da configuração Base, as configurações com um valor diferente serão exibidas em negrito.

Para o Release (a versão a ser usada pelos usuários do seu aplicativo - não para depuração), as opções específicas são:

  • Compilador Delphi - Compilação - Geração de código - Otimização LIGADA - o compilador executará várias otimizações de código, como colocar variáveis ​​nos registros da CPU, eliminar subexpressões comuns e gerar variáveis ​​de indução.
  • Delphi Compiler - Compilação - Geração de código - Empilhar quadros desativado - quadros de pilha NÃO são gerados para procedimentos e funções.
  • Delphi Compiler - Compilação - Depuração - Informações de depuração desativadas - quando um programa ou unidade é compilado com esta opção desativada, o depurador integrado NÃO permite que você execute uma única etapa e defina pontos de interrupção.
  • Delphi Compiler - Compilação - Depuração - Símbolos locais OFF - Quando um programa ou unidade é compilado com esta opção desativada, o depurador integrado NÃO permite examinar e modificar as variáveis ​​locais do módulo.

Esses são os valores padrão definidos pelo Delphi para um novo projeto. Você pode alterar qualquer uma das opções do projeto para criar sua própria versão de depuração ou liberar configurações de compilação.

instagram story viewer