Debug vs. Eliberați în Delphi Build Configurations 1/3

01

din 03

Configurații de construire - Baza: Debug, Release

Delphi Project Manager
Delphi Project Manager.Zarko Gajic

Fereastra Manager de proiect din Dvs. Delphi (RAD Studio) IDE afișează și organizează conținutul grupului dvs. de proiecte actuale și orice proiecte pe care le conține. Acesta va enumera toate unitățile care fac parte din proiectul dvs., precum și toate formularele și fișierele de resurse incluse.

Secțiunea Creare configurații va enumera diverse configurații de construire pe care le aveți pentru proiectul dvs.

Unele mai recente (să fie corecte: începând de la Delphi 2007) Versiunile Delphi au două (trei) configurații implicite de construire: DEBUG și RELEASE.

Articolul Compilation Conditional 101 menționează configurațiile de construire, dar nu explică diferența de detalii.

Debug vs. Eliberare

Deoarece puteți activa fiecare dintre configurațiile de construire pe care le vedeți în Project Manager și construi proiectul dvs. producând un fișier executabil diferit, întrebarea este care este diferența dintre Debug și Release?

instagram viewer

Denumirea în sine: „debug” și „release” ar trebui să vă indice în direcția corectă.

  • Configurația de depanare ar trebui să fie activă și folosită în timp ce dezvoltăm, debuggingăm și schimbăm aplicația.
  • Configurația de eliberare ar trebui să fie activată atunci când construim aplicația, astfel încât fișierul executabil produs să fie trimis utilizatorilor.

Cu toate acestea, rămâne întrebarea: care este diferența? Ce puteți face în timp ce „debug” este activ și ce este inclus în fișierul executabil final vs. cum arată executabilul atunci când este aplicată „eliberarea”?

Configurații de construire

În mod implicit, există trei (deși în Project Manager vedeți doar două) configurații create de Delphi când începeți un nou proiect. Acestea sunt Base, Debug și Release.

Configurația bazei acționează ca un set de baze de valori ale opțiunii care este utilizat în toate configurațiile pe care le creați ulterior.

Valorile de opțiune menționate sunt compilarea și linking și un alt set de opțiuni pe care le puteți modifica pentru proiectul dvs. folosind dialogul Opțiuni de proiect (meniul principal: Proiect - Opțiuni).

Configurare de depanare extinde baza dezactivând optimizarea și permițând debugarea, precum și setând opțiuni de sintaxă specifice.

Configurare de eliberare extinde Baza pentru a nu produce informații simbolice de depanare, codul nu este generat pentru apelurile TRACE și ASSERT, ceea ce înseamnă că dimensiunea executabilului dvs. este redusă.

Puteți adăuga propriile configurații de construire și puteți șterge atât configurațiile implicite Debug cât și Release, dar nu puteți șterge una de bază.

Configurațiile de compilare sunt salvate în fișierul de proiect (.dproj). DPROJ este un fișier XML, iată secțiunea cu configurații de construire:

00400000.. \ $ (Config) \ $ (platforma) WinTypes = Ferestre; WinProcs = Ferestre; DbiTypes = BDE; DbiProcs = BDE; $ (DCC_UnitAlias). \ $ (Config) \ $ (platforma) REMEDIERE; $ (DCC_Define) fals. Adevărat. fals. DE PRESĂ; $ (DCC_Define) 0. fals.

Desigur, nu veți modifica fișierul DPROJ manual, acesta este întreținut de Delphi.

* Puteți * redenumi configurațiile de construire, * puteți * modifica setările pentru fiecare configurație de construire, puteți * face * astfel încât „eliberarea” să fie destinată debuggingului și „debug” să fie optimizată pentru clienții dvs. Prin urmare, nu trebuie să știi ce faci :)

Compilare, construcție, rulare

Pe măsură ce lucrați la aplicația dvs., dezvoltând-o, puteți compila, construi și rula aplicația direct de la IDE. Compilarea, construirea și rularea vor produce fișierul executabil.

Compilarea va verifica sintaxa codul dvs. și va compila aplicația - luând în considerare doar acele fișiere care s-au modificat de la ultima compilare. Compilarea produce fișiere DCU.

Clădirea este o extensie la compilarea în care sunt compilate toate unitățile (chiar și cele care nu sunt modificate). Când schimbi opțiunile proiectului, ar trebui să creezi!

Running execută codul și rulează aplicația. Puteți rula cu depanare (F9) sau fără depanare (Ctrl + Shift + F9). Dacă se execută fără depanare, debuggerul încorporat în IDE nu va fi invocat - punctele tale de depanare nu vor funcționa.

Acum că știți cum și unde sunt salvate configurațiile de construire, să vedem diferența dintre versiunile Debug și Release.

02

din 03

Configurare generare: DEBUG - pentru depanare și dezvoltare

Configurarea construirii de depanare în Delphi
Configurarea construirii de depanare în Delphi.Zarko Gajic

Configurația implicită de construire Debug, pe care o puteți localiza în Project Manager pentru proiectul dvs. Delphi, este creată de Delphi atunci când a creat o nouă aplicație / proiect.

Configurația de depanare dezactivează optimizarea și permite depanarea.

Pentru a edita configurația de construire: faceți clic dreapta pe numele configurației, selectați „Editare” din meniul contextual și veți găsi căutarea casetei de dialog Opțiuni proiect.

Opțiuni de depanare

Deoarece debugul extinde construirea configurației de bază, acele setări care au o valoare diferită vor fi afișate cu caractere aldine.

Pentru debug (și deci depanare) opțiunile specifice sunt:

  • Delphi Compiler - Compilare - Generare cod - Optimizare OFF - compilatorul NU va efectua o serie de optimizări de cod, cum ar fi plasarea de variabile în registrele CPU, eliminarea subexpresiilor comune și generarea de variabile de inducție.
  • Delphi Compiler - Compilare - Generare cod - Rame Stack ON - cadrele de stivă sunt întotdeauna generate pentru proceduri și funcții, chiar și atunci când acestea nu sunt necesare.
  • Delphi Compiler - Compilare - Debugging - Informații de depanare ACTIVATE - când un program sau unitate este compilat cu această opțiune activată, debuggerul integrat vă permite să faceți un singur pas și să setați punctele de întrerupere. Informațiile de depanare care sunt „pornite” nu afectează dimensiunea sau viteza programului executabil - informațiile de depanare sunt compilate în DCU-uri și nu se conectează la executabil.
  • Delphi Compiler - Compilare - Debugging - Simboluri locale ON - Când un program sau unitate este compilat cu această opțiune activată, depanatorul integrat vă permite să examinați și să modificați variabilele locale ale modulului. Simbolurile locale care sunt „pornite” nu afectează dimensiunea sau viteza programului executabil.

NOTĂ: implicit, "utilizați debug .dcus" opțiunea este OFF. Setarea acestei opțiuni vă permite să faceți debug Codul sursă Delphi VCL (setați un punct de întrerupere în VCL)

Să vedem acum despre ce este vorba despre „Release” ...

03

din 03

Configurare Build: RELEASE - pentru distribuție publică

Configurare pentru compilarea lansării Delphi
Configurare pentru compilarea lansării Delphi.Zarko Gajic

Versiunea implicită de configurare a lansării, pe care o puteți localiza în Project Manager pentru proiectul dvs. Delphi, este creată de Delphi când ați creat o nouă aplicație / proiect.

Configurația de lansare permite optimizarea și dezactivează depanarea, codul nu este generat pentru apelurile TRACE și ASSERT, ceea ce înseamnă că dimensiunea executării dvs. este redusă.

Pentru a edita configurația de construire: faceți clic dreapta pe numele configurației, selectați „Editare” din meniul contextual și veți găsi căutarea casetei de dialog Opțiuni proiect.

Opțiuni de lansare

Deoarece lansarea extinde construirea configurației de bază, acele setări care au o valoare diferită vor fi afișate cu caractere aldine.

Pentru Release (versiunea care va fi utilizată de utilizatorii aplicației dvs. - nu pentru depanare) opțiunile specifice sunt:

  • Compilator Delphi - Compilare - Generare cod - Optimizare ACTIVĂ - compilatorul va efectua o serie de optimizări de cod, cum ar fi plasarea variabilelor în registrele CPU, eliminarea subexpresiilor comune și generarea de variabile de inducție.
  • Delphi Compiler - Compilare - Generare cod - Rame Stack OFF - cadrele de stivă NU sunt generate pentru proceduri și funcții.
  • Delphi Compiler - Compilare - Debugging - Informații de depanare dezactivate - atunci când un program sau unitate este compilat cu această opțiune dezactivată, debuggerul integrat NU vă permite să faceți un singur pas și să setați punctele de întrerupere.
  • Delphi Compiler - Compilare - Debugging - Simboluri locale OFF - Când un program sau unitate este compilat cu această opțiune dezactivată, depanatorul integrat NU vă permite să examinați și să modificați variabilele locale ale modulului.

Acestea sunt valorile implicite setate de Delphi pentru un nou proiect. Puteți modifica oricare dintre opțiunile de proiect pentru a face propria versiune a configurațiilor de generare de depanare sau de lansare.

instagram story viewer