Debug vs. Lanzamiento en Delphi Build Configurations 1/3

01

de 03

Configuraciones de compilación - Base: depuración, lanzamiento

Gerente de proyecto de Delphi
Gerente de Proyecto Delphi.Zarko Gajic

La ventana de Project Manager en su Delphi (RAD Studio) IDE muestra y organiza el contenido de su grupo de proyectos actual y cualquier proyecto que contenga. Enumerará todas las unidades que forman parte de su proyecto, así como todos los formularios y archivos de recursos incluidos.

La sección Configuraciones de compilación enumerará varias configuraciones de compilación que tenga para su proyecto.

Algunos más recientes (para ser correctos: a partir de Delphi 2007) Las versiones de Delphi tienen dos (tres) configuraciones de compilación predeterminadas: DEPURACIÓN y LIBERACIÓN.

El artículo sobre la compilación condicional 101 menciona las configuraciones de compilación, pero no explica la diferencia en los detalles.

Debug vs. Lanzamiento

Como puede activar cada una de las configuraciones de compilación que ve en el Administrador de proyectos y compilar su proyecto produciendo un archivo ejecutable diferente, la pregunta es ¿Cuál es la diferencia entre Debug y Release?

instagram viewer

El nombre en sí: "depurar" y "liberar" debería apuntarlo en la dirección correcta.

  • La configuración de depuración debe estar activa y utilizada mientras desarrollamos, depuramos y cambiamos su aplicación.
  • La configuración de la versión debe activarse cuando estamos creando su aplicación para que el archivo ejecutable producido se envíe a los usuarios.

Sin embargo, la pregunta sigue siendo: ¿cuál es la diferencia? ¿Qué puede hacer mientras "depuración" está activo y qué se incluye en el archivo ejecutable final vs. ¿Cómo se ve el ejecutable cuando se aplica "release"?

Configuraciones de construcción

De manera predeterminada, hay tres (aunque en el Administrador de proyectos solo ve dos) configuraciones de compilación creadas por Delphi cuando comienzas un nuevo proyecto. Esos son Base, Debug y Release.

los Configuración Base actúa como un conjunto base de valores de opciones que se usa en todas las configuraciones que crea posteriormente.

Los valores de opción mencionados son los compilando y enlace y otro conjunto de opciones que puede modificar para su proyecto utilizando el cuadro de diálogo Opciones de proyecto (menú principal: Proyecto - Opciones).

los Configuración de depuración extiende Base deshabilitando la optimización y habilitando la depuración, así como configurando opciones de sintaxis específicas.

los Configuración de lanzamiento extiende Base para no producir información de depuración simbólica, el código no se genera para las llamadas TRACE y ASSERT, lo que significa que se reduce el tamaño de su ejecutable.

Puede agregar sus propias configuraciones de compilación, y puede eliminar las configuraciones predeterminadas de depuración y lanzamiento, pero no puede eliminar la base.

Las configuraciones de compilación se guardan en el archivo del proyecto (.dproj). El DPROJ es un archivo XML, así es como la sección con configuraciones de compilación:

00400000.. \ $ (Config) \ $ (Plataforma) WinTypes = Windows; WinProcs = Windows; DbiTypes = BDE; DbiProcs = BDE; $ (DCC_UnitAlias). \ $ (Config) \ $ (Plataforma) DEPURACIÓN; $ (DCC_Define) falso. cierto. falso. LIBERACIÓN; $ (DCC_Define) 0. falso.

Por supuesto, no alterará el archivo DPROJ manualmente, lo mantiene Delphi.

* Puede * cambiar el nombre de las configuraciones de compilación, * puede * alterar las configuraciones para cada configuración de compilación, * puede * hacerlo de modo que "liberar" sea para depuración y "depurar" esté optimizado para sus clientes. Por lo tanto, necesita saber lo que está haciendo :)

Compilar, construir, correr

Mientras trabaja en su aplicación, desarrollándola, puede compilar, construir y ejecutar la aplicación directamente desde el IDE. Compilar, construir y ejecutar producirá el archivo ejecutable.

La compilación comprobará la sintaxis de su código y compilará la aplicación, teniendo en cuenta solo aquellos archivos que han cambiado desde la última compilación. La compilación produce archivos DCU.

La construcción es una extensión de la compilación donde se compilan todas las unidades (incluso las que no están alteradas). ¡Cuando cambie las opciones del proyecto, debe construir!

Running compila el código y ejecuta la aplicación. Puede ejecutar con depuración (F9) o sin depuración (Ctrl + Shift + F9). Si se ejecuta sin depuración, no se invocará el depurador integrado en el IDE; sus puntos de interrupción de depuración "no" funcionarán.

Ahora que sabe cómo y dónde se guardan las configuraciones de compilación, veamos la diferencia entre las compilaciones Debug y Release.

02

de 03

Configuración de compilación: DEPURACIÓN - para depuración y desarrollo

Configuración de compilación de depuración en Delphi
Configuración de compilación de depuración en Delphi.Zarko Gajic

La configuración de compilación predeterminada Debug, que puede ubicar en el Project Manager para su proyecto Delphi, es creada por Delphi cuando creó una nueva aplicación / proyecto.

La configuración de depuración deshabilita la optimización y habilita la depuración.

Para editar la configuración de compilación: haga clic con el botón derecho en el nombre de la configuración, seleccione "Editar" en el menú contextual y verá el cuadro de diálogo Opciones del proyecto.

Opciones de depuración

Dado que la depuración extiende la configuración de la configuración Base, las configuraciones que tienen un valor diferente se mostrarán en negrita.

Para la depuración (y, por lo tanto, la depuración), las opciones específicas son:

  • Compilador Delphi - Compilación - Generación de código - Optimización desactivada - el compilador NO realizará una serie de optimizaciones de código, como colocar variables en los registros de la CPU, eliminar subexpresiones comunes y generar variables de inducción.
  • Compilador Delphi - Compilación - Generación de código - Stack Frames ON - los marcos de pila siempre se generan para procedimientos y funciones, incluso cuando no son necesarios.
  • Compilador Delphi - Compilación - Depuración - Información de depuración activada - cuando se compila un programa o unidad con esta opción habilitada, el depurador integrado le permite un solo paso y establecer puntos de interrupción. La información de depuración que está "activada" no afecta el tamaño o la velocidad del programa ejecutable: la información de depuración se compila en las DCU y no se vincula al ejecutable.
  • Compilador Delphi - Compilación - Depuración - Símbolos locales activados - Cuando se compila un programa o unidad con esta opción habilitada, el depurador integrado le permite examinar y modificar las variables locales del módulo. Los símbolos locales que están "activados" no afectan el tamaño o la velocidad del programa ejecutable.

NOTA: por defecto, el "usar debug .dcus" La opción está desactivada. Establecer esta opción en le permite depurar el código fuente de Delphi VCL (establecer un punto de interrupción en el VCL)

Veamos ahora de qué se trata "Release" ...

03

de 03

Configuración de compilación: LIBERACIÓN - para distribución pública

Configuración de compilación de lanzamiento de Delphi
Configuración de lanzamiento de Delphi.Zarko Gajic

Delphi crea la versión de configuración de compilación predeterminada, que puede ubicar en el Administrador de proyectos para su proyecto Delphi, cuando crea una nueva aplicación / proyecto.

La configuración de lanzamiento permite la optimización y desactiva la depuración, el código no se genera para las llamadas TRACE y ASSERT, lo que significa que se reduce el tamaño de su ejecutable.

Para editar la configuración de compilación: haga clic con el botón derecho en el nombre de la configuración, seleccione "Editar" en el menú contextual y verá el cuadro de diálogo Opciones del proyecto.

Opciones de lanzamiento

Dado que la versión extiende la compilación de la configuración Base, las configuraciones que tienen un valor diferente se mostrarán en negrita.

Para la versión (la versión que utilizarán los usuarios de su aplicación, no para la depuración), las opciones específicas son:

  • Compilador Delphi - Compilación - Generación de código - Optimización activada - el compilador realizará una serie de optimizaciones de código, como colocar variables en los registros de la CPU, eliminar subexpresiones comunes y generar variables de inducción.
  • Compilador Delphi - Compilación - Generación de código - Stack Frames OFF - los marcos de pila NO se generan para procedimientos y funciones.
  • Compilador Delphi - Compilación - Depuración - Información de depuración desactivada - cuando un programa o unidad se compila con esta opción deshabilitada, el depurador integrado NO le permite un solo paso y establecer puntos de interrupción.
  • Compilador Delphi - Compilación - Depuración - Símbolos locales desactivados - Cuando un programa o unidad se compila con esta opción deshabilitada, el el depurador integrado NO le permite examinar y modificar las variables locales del módulo.

Esos son los valores predeterminados establecidos por Delphi para un nuevo proyecto. Puede modificar cualquiera de las opciones del Proyecto para crear su propia versión de depuración o liberar configuraciones de compilación.

instagram story viewer