Ladiť vs Vydanie v konfiguráciách zostavenia Delphi 1/3

01

z 03

Zostavte konfigurácie - základňa: Debug, Release

Projektový manažér spoločnosti Delphi
Projektový manažér spoločnosti Delphi.Zarko Gajic

Okno Project Manager vo vašom Delphi (RAD Studio) IDE zobrazuje a organizuje obsah vašej aktuálnej projektovej skupiny a všetkých projektov, ktoré obsahuje. Uvádza zoznam všetkých jednotiek, ktoré sú súčasťou vášho projektu, ako aj všetky zahrnuté formuláre a súbory zdrojov.

V sekcii Zostavenia konfigurácií sa zobrazia rôzne konfigurácie zostavenia, ktoré máte pre svoj projekt.

Niektorí novší (správny: začínajúci od Delphi 2007) Verzie Delphi majú dve (tri) predvolené konfigurácie zostavenia: DEBUG a RELEASE.

Článok Podmienená kompilácia 101 uvádza konfigurácie zostavenia, ale nevysvetľuje rozdiel v detailoch.

Ladiť vs uvoľnenie

Keďže môžete aktivovať každú z konfigurácií zostavenia, ktoré vidíte v Správcovi projektov, a zostavením projektu vytvoriť iný spustiteľný súbor, otázka znie: Aký je rozdiel medzi Debug a Release?

Samotné pomenovanie: „ladenie“ a „uvoľnenie“ by vás malo nasmerovať správnym smerom.

instagram viewer
  • Konfigurácia ladenia by mala byť aktívna a používaná počas vývoja a ladenia a zmeny vašej aplikácie.
  • Konfigurácia vydania by mala byť aktivovaná, keď vytvárame vašu aplikáciu, aby sa vytvorený spustiteľný súbor odoslal používateľom.

Otázkou však zostáva: aký je rozdiel? Čo môžete robiť, keď je "ladenie" aktívne a čo je obsiahnuté v konečnom spustiteľnom súbore vs. Ako vyzerá spustiteľný súbor, keď je aplikované „vydanie“?

Zostavte konfigurácie

V predvolenom nastavení existujú tri (aj keď v Správcovi projektov vidíte iba dve) zostavenia konfigurácie vytvorené programom Delphi pri začatí nového projektu. Sú to základňa, ladenie a vydanie.

Základná konfigurácia funguje ako základná sada hodnoty opcie ktorý sa používa vo všetkých konfiguráciách, ktoré následne vytvoríte.

Uvedené hodnoty opcie sú zostavovanie a prepojenie a ďalšiu sadu možností, ktoré môžete pre svoj projekt zmeniť pomocou dialógového okna Možnosti projektu (hlavné menu: Projekt - Možnosti).

Ladenie konfigurácie rozširuje základňu zakázaním optimalizácie a povolením ladenia, ako aj nastavením konkrétnych možností syntaxe.

Uvoľnite konfiguráciu rozširuje základňu tak, aby nevytvárala symbolické ladiace informácie, kód sa pre hovory TRACE a ASSERT nevytvára, čo znamená, že sa zmenšuje veľkosť spustiteľného súboru.

Môžete pridať vlastné konfigurácie zostavenia a môžete odstrániť predvolenú konfiguráciu ladenia aj vydania, ale nemôžete odstrániť základnú konfiguráciu.

Konfigurácie zostavenia sa ukladajú do súboru projektu (.dproj). DPROJ je súbor XML, časť s konfiguráciami zostavenia:

00400000.. \ $ (Config) \ $ (Platform) WinTypes = Windows; WinProcs = Windows; DbiTypes = BDE; DbiProcs = BDE; $ (DCC_UnitAlias). \ $ (Config) \ $ (Platform) DEBUG, $ (DCC_Define) false. true. false. SPRÁVA; $ (DCC_Define) 0. false.

Súbor DPROJ samozrejme nezmeníte manuálne, spravuje ho spoločnosť Delphi.

Môžete * premenovať zostavenie zostavy, * môžete * zmeniť nastavenia pre každú zostavenie zostavy, môžete * urobiť to tak, že "release" je pre ladenie a "ladenie" je optimalizované pre vašich klientov. Preto musíte vedieť, čo robíte :)

Zostavovanie, zostavovanie, prevádzka

Počas práce na aplikácii a jej vývoji môžete kompilovať, vytvárať a spúšťať aplikáciu priamo z IDE. Kompiláciou, zostavením a spustením vytvoríte spustiteľný súbor.

Kompilácia skontroluje syntax vášho kódu a skompiluje aplikáciu - berúc do úvahy iba tie súbory, ktoré sa od poslednej zostavy zmenili. Kompilácia vytvára súbory DCU.

Budova je rozšírením kompilácie, kde sa kompilujú všetky jednotky (aj tie, ktoré sa nezmenili). Keď zmeníte možnosti projektu, mali by ste zostaviť!

Spustenie kompiluje kód a spustí aplikáciu. Môžete spustiť ladenie (F9) alebo bez ladenia (Ctrl + Shift + F9). Ak spustíte bez ladenia, ladiaci program zabudovaný do IDE sa nespustí - vaše ladiace zarážky nebudú fungovať.

Teraz, keď viete, ako a kde sa ukladajú konfigurácie zostavenia, uvidíme rozdiel medzi zostaveniami Debug a Release.

02

z 03

Zostavenie konfigurácie: DEBUG - na ladenie a vývoj

Konfigurácia ladenia zostavy v Delphi
Konfigurácia ladenia zostavy v Delphi.Zarko Gajic

Predvolená konfigurácia Debug, ktorú môžete nájsť v Project Manager pre váš projekt Delphi, je vytvorená spoločnosťou Delphi, keď vytvoril novú aplikáciu / projekt.

Konfigurácia ladenia zakáže optimalizáciu a umožňuje ladenie.

Ak chcete upraviť konfiguráciu zostavenia: kliknite pravým tlačidlom myši na názov konfigurácie, v kontextovej ponuke vyberte príkaz „Upraviť“ a uvidíte dialógové okno Možnosti projektu.

Možnosti ladenia

Pretože ladenie rozširuje zostavenie základnej konfigurácie, tie nastavenia, ktoré majú inú hodnotu, sa zobrazia tučným písmom.

Pre ladenie (a preto ladenie) sú konkrétne možnosti:

  • Kompilátor Delphi - Kompilácia - Generovanie kódu - Optimalizácia VYP - kompilátor NEVYKONÁVA množstvo optimalizácií kódu, ako je napríklad umiestňovanie premenných do registrov CPU, vylúčenie bežných čiastkových výrazov a generovanie indukčných premenných.
  • Kompilátor Delphi - Kompilácia - Generovanie kódu - Stack Frames ON - rámce stohov sú vždy generované pre procedúry a funkcie, aj keď nie sú potrebné.
  • Kompilátor Delphi - Kompilácia - ladenie - Informácie o ladení sú zapnuté - ak je program alebo jednotka zostavená s touto povolenou voľbou, integrovaný debugger vám umožňuje jednostupňové nastavenie hraničných bodov. Ladiace informácie, ktoré sú zapnuté, neovplyvňujú veľkosť ani rýchlosť spustiteľného programu - informácie o ladení sa kompilujú do jednotiek DCU a neprepojia sa s spustiteľným programom.
  • Kompilátor Delphi - Kompilácia - ladenie - Miestne symboly ZAPNUTÉ - Ak je program alebo jednotka zostavená s touto povolenou voľbou, Integrovaný debugger vám umožní preskúmať a upraviť lokálne premenné modulu. Lokálne symboly, ktoré sú zapnuté, neovplyvňujú veľkosť ani rýchlosť spustiteľného programu.

POZNÁMKA: v predvolenom nastavení "use debug .dcus" možnosť je VYPNUTÁ. Nastavenie tejto možnosti na umožňuje ladiť zdrojový kód Delphi VCL (nastaviť bod prerušenia vo VCL)

Pozrime sa teraz, o čom je „Release“ ...

03

z 03

Zostavenie konfigurácie: RELEASE - pre verejnú distribúciu

Konfigurácia zostavenia Delphi Release
Konfigurácia zostavenia Delphi Release.Zarko Gajic

Predvolenú zostavenie konfigurácie vydania, ktorú môžete nájsť v Project Manager pre váš projekt Delphi, vytvorí spoločnosť Delphi, keď ste vytvorili novú aplikáciu / projekt.

Konfigurácia vydania umožňuje optimalizáciu a deaktivuje ladenie, kód sa pre hovory TRACE a ASSERT negeneruje, čo znamená, že sa zmenšuje veľkosť spustiteľného súboru.

Ak chcete upraviť konfiguráciu zostavenia: kliknite pravým tlačidlom myši na názov konfigurácie, v kontextovej ponuke vyberte príkaz „Upraviť“ a uvidíte dialógové okno Možnosti projektu.

Možnosti vydania

Pretože vydanie rozširuje zostavenie základnej konfigurácie, tie nastavenia, ktoré majú inú hodnotu, sa zobrazia tučným písmom.

Pre vydanie (verzia, ktorú majú používať používatelia vašej aplikácie - nie na ladenie) sú konkrétne možnosti:

  • Kompilátor Delphi - Kompilácia - Generovanie kódu - Optimalizácia zapnutá - kompilátor vykoná niekoľko optimalizácií kódu, ako napríklad vloženie premenných do registrov CPU, vylúčenie bežných čiastkových výrazov a generovanie indukčných premenných.
  • Kompilátor Delphi - Kompilácia - Generovanie kódu - Stack Frames OFF - Rámce zásobníkov NIE sú generované pre procedúry a funkcie.
  • Kompilátor Delphi - Kompilácia - ladenie - Informácie o ladení sú vypnuté - ak je program alebo jednotka zostavená s touto voľbou zakázanou, integrovaný ladiaci program vám NEDOVOLÍ vykonať jediný krok a nastaviť body prerušenia.
  • Kompilátor Delphi - Kompilácia - ladenie - Miestne symboly vypnuté - Ak je program alebo jednotka zostavená s touto voľbou zakázanou, integrovaný debugger NIE vám umožní preskúmať a modifikovať lokálne premenné modulu.

Toto sú predvolené hodnoty nastavené spoločnosťou Delphi pre nový projekt. Môžete zmeniť ktorúkoľvek z možností projektu a vytvoriť si vlastnú verziu konfigurácií ladenia alebo uvoľnenia zostavenia.