Debug vs. Rilascio in Delphi Build Configurations 1/3

01

di 03

Build Configurations - Base: Debug, Release

Delphi Project Manager
Delphi Project Manager.Zarko Gajic

La finestra di Project Manager nella tua Delphi (RAD Studio) IDE visualizza e organizza i contenuti del gruppo di progetti corrente e di tutti i progetti in esso contenuti. Elencherà tutte le unità che fanno parte del progetto, nonché tutti i moduli e i file di risorse inclusi.

La sezione Configurazioni di build elenca le varie configurazioni di build disponibili per il progetto.

Alcuni più recenti (per essere corretti: a partire da Delfi 2007) Le versioni di Delphi hanno due (tre) configurazioni predefinite: DEBUG e RELEASE.

L'articolo 101 sulla compilazione condizionale menziona le configurazioni di compilazione ma non spiega la differenza nei dettagli.

Debug vs. pubblicazione

Dal momento che puoi attivare ciascuna delle configurazioni di build che vedi nel Project Manager e costruire il tuo progetto producendo un diverso file eseguibile, la domanda è Qual'è la differenza tra Debug e Release?

Il nome stesso: "debug" e "release" dovrebbero indirizzarti nella giusta direzione.

instagram viewer
  • La configurazione del debug deve essere attiva e utilizzata durante lo sviluppo, il debug e la modifica dell'applicazione.
  • La configurazione della versione deve essere attivata durante la creazione dell'applicazione in modo che il file eseguibile prodotto venga inviato agli utenti.

Tuttavia, la domanda rimane: qual è la differenza? Cosa puoi fare mentre "debug" è attivo e cosa è incluso nel file eseguibile finale vs. come appare l'eseguibile quando viene applicato "release"?

Crea configurazioni

Per impostazione predefinita, ci sono tre (anche se nel Project Manager ne vedi solo due) le configurazioni di build create da Delphi quando inizi un nuovo progetto. Quelli sono Base, Debug e Release.

Il Configurazione di base funge da set di base di valori di opzione che viene utilizzato in tutte le configurazioni successivamente create.

I valori delle opzioni menzionati sono: compilazione e linking e un'altra serie di opzioni che puoi modificare per il tuo progetto usando la finestra di dialogo Opzioni progetto (menu principale: Progetto - Opzioni).

Il Configurazione di debug estende Base disabilitando l'ottimizzazione e abilitando il debug, nonché impostando opzioni di sintassi specifiche.

Il Rilascio della configurazione estende Base per non produrre informazioni di debug simboliche, il codice non viene generato per le chiamate TRACE e ASSERT, il che significa che la dimensione del tuo eseguibile è ridotta.

Puoi aggiungere le tue configurazioni di build e puoi eliminare sia le configurazioni di debug che quelle di rilascio predefinite, ma non puoi eliminare quella di base.

Le configurazioni di build vengono salvate nel file di progetto (.dproj). DPROJ è un file XML, ecco come la sezione con le configurazioni di build:

00400000.. \ $ (Config) \ $ (Platform) WinTypes = di Windows; WinProcs = di Windows; DbiTypes = BDE; DbiProcs = BDE; $ (DCC_UnitAlias). \ $ (Config) \ $ (Platform) DEBUG; $ (DCC_Define) falsa. vero. falsa. STAMPA; $ (DCC_Define) 0. falsa.

Ovviamente, il file DPROJ non verrà modificato manualmente, ma è gestito da Delphi.

Puoi * rinominare le configurazioni di build, * puoi * modificare le impostazioni per ogni configurazione di build, * puoi * far sì che "release" sia per il debug e "debug" sia ottimizzato per i tuoi client. Pertanto non devi sapere cosa stai facendo :)

Compilazione, costruzione, esecuzione

Mentre stai lavorando sulla tua applicazione, sviluppandola, puoi compilare, compilare ed eseguire l'applicazione direttamente dall'IDE. Compilare, compilare ed eseguire produrrà il file eseguibile.

La compilazione verificherà la sintassi del codice e compilerà l'applicazione, tenendo conto solo dei file che sono stati modificati dall'ultima build. La compilazione produce file DCU.

La costruzione è un'estensione della compilazione in cui vengono compilate tutte le unità (anche quelle non modificate). Quando cambi le opzioni del progetto dovresti creare!

L'esecuzione compila il codice ed esegue l'applicazione. Puoi eseguire il debug (F9) o senza debug (Ctrl + Shift + F9). Se eseguito senza debug, il debugger incorporato nell'IDE non verrà richiamato: i punti di interruzione del debug "non" funzioneranno.

Ora che sai come e dove vengono salvate le configurazioni di build, vediamo la differenza tra le build di Debug e Release.

02

di 03

Build Build: DEBUG - per debugging e sviluppo

Debug Build Configuration in Delphi
Debug Build Configuration in Delphi.Zarko Gajic

La configurazione di build predefinita Debug, che puoi individuare nel Project Manager per il tuo progetto Delphi, viene creata da Delphi quando creato una nuova applicazione / progetto.

La configurazione del debug disabilita l'ottimizzazione e abilita il debug.

Per modificare la configurazione della build: fai clic con il pulsante destro del mouse sul nome della configurazione, seleziona "Modifica" dal menu di scelta rapida e ti troverai nella finestra di dialogo Opzioni progetto.

Opzioni di debug

Poiché il debug estende la build di configurazione di base, le impostazioni con un valore diverso verranno visualizzate in grassetto.

Per il debug (e quindi il debug) le opzioni specifiche sono:

  • Compilatore Delphi - Compilazione - Generazione di codice - Ottimizzazione OFF - il compilatore NON eseguirà una serie di ottimizzazioni del codice, come l'inserimento di variabili nei registri della CPU, l'eliminazione di sottoespressioni comuni e la generazione di variabili di induzione.
  • Compilatore Delphi - Compilazione - Generazione di codice - Stack Stack ON - i frame dello stack vengono sempre generati per procedure e funzioni, anche quando non sono necessari.
  • Delphi Compiler - Compilazione - Debugging - Informazioni di debug ON - quando un programma o un'unità viene compilato con questa opzione abilitata, il il debugger integrato consente di eseguire singoli passaggi e impostare punti di interruzione. Le informazioni di debug "attive" non influiscono sulla dimensione o sulla velocità del programma eseguibile: le informazioni di debug vengono compilate nelle DCU e non vengono collegate all'eseguibile.
  • Delphi Compiler - Compilazione - Debugging - Simboli locali ON - Quando un programma o un'unità viene compilato con questa opzione abilitata, il il debugger integrato ti consente di esaminare e modificare le variabili locali del modulo. Il fatto che i simboli locali siano "accesi" non influisce sulla dimensione o sulla velocità del programma eseguibile.

NOTA: per impostazione predefinita, il "usa debug .dcus" l'opzione è OFF. Impostando questa opzione su è possibile debug del codice sorgente VCL Delphi (impostare un punto di interruzione nel VCL)

Vediamo ora di cosa parla "Release" ...

03

di 03

Build Build: RELEASE - per distribuzione pubblica

Delphi Release Build Build
Delphi Release Build Build.Zarko Gajic

La versione di configurazione di build predefinita, che puoi trovare in Project Manager per il tuo progetto Delphi, viene creata da Delphi quando hai creato una nuova applicazione / progetto.

La configurazione della versione abilita l'ottimizzazione e disabilita il debug, il codice non viene generato per le chiamate TRACE e ASSERT, il che significa che la dimensione del tuo eseguibile è ridotta.

Per modificare la configurazione della build: fai clic con il pulsante destro del mouse sul nome della configurazione, seleziona "Modifica" dal menu di scelta rapida e ti troverai nella finestra di dialogo Opzioni progetto.

Opzioni di rilascio

Poiché la versione estende la build di configurazione di base, le impostazioni con un valore diverso verranno visualizzate in grassetto.

Per Release (la versione utilizzata dagli utenti dell'applicazione, non per il debug) le opzioni specifiche sono:

  • Compilatore Delphi - Compilazione - Generazione di codice - Ottimizzazione ON - il compilatore eseguirà una serie di ottimizzazioni del codice, come l'inserimento di variabili nei registri della CPU, l'eliminazione di sottoespressioni comuni e la generazione di variabili di induzione.
  • Compilatore Delphi - Compilazione - Generazione di codice - Stack Stack Frame OFF - I frame stack NON vengono generati per procedure e funzioni.
  • Delphi Compiler - Compilazione - Debugging - Informazioni di debug OFF - quando un programma o un'unità viene compilato con questa opzione disabilitata, il il debugger integrato NON consente di eseguire passaggi singoli e impostare punti di interruzione.
  • Delphi Compiler - Compilazione - Debugging - Simboli locali OFF - Quando un programma o un'unità viene compilato con questa opzione disabilitata, il il debugger integrato NON consente di esaminare e modificare le variabili locali del modulo.

Questi sono i valori predefiniti impostati da Delphi per un nuovo progetto. È possibile modificare qualsiasi opzione di Progetto per creare la propria versione di debug o rilasciare configurazioni di build.

instagram story viewer