Debug vs. Izdanje v Delphi Build Configurations 1/3

01

z dne 03

Konfiguracije zgradbe - Baza: Odpravljanje napak, izdaja

Delphi Project Manager
Delphi Project Manager.Žarko Gajić

Okno vodje projektov v vašem Delphi (RAD Studio) IDE prikaže in organizira vsebino trenutne projektne skupine in vse njene projekte. V njem bodo navedene vse enote, ki so del vašega projekta, ter vse vključene obrazce in datoteke z viri.

V razdelku Konfiguracije zgradbe bodo navedene različne konfiguracije sestavljanja, ki jih imate za svoj projekt.

Nekaj ​​novejšega (da je pravilno: začenši od Delphi 2007) Različice Delphi imajo dve (tri) privzeti konfiguraciji zgradbe: DEBUG in RELEASE.

Članek Pogojna kompilacija 101 omenja konfiguracije zgradb, vendar ne razlaga razlike v podrobnostih.

Debug vs. Izpustite

Ker lahko aktivirate vsako konfiguracijo sestavljanja, ki jo vidite v upravitelju projektov, in zgradite svoj projekt, tako da ustvarite drugo izvedljivo datoteko, je vprašanje naslednje kakšna je razlika med odpravljanjem napak in izdajo?

Samo poimenovanje: "odpravljanje napak" in "sprostitev" naj vas usmerita v pravo smer.

instagram viewer
  • Konfiguracija napak mora biti aktivna in uporabljana, medtem ko razvijamo in odpravljamo napake in spreminjamo vašo aplikacijo.
  • Konfiguracijo izdaje je treba aktivirati, ko gradimo vašo aplikacijo, tako da se izdelana izvršljiva datoteka, ki jo je treba poslati uporabnikom.

Še vedno pa ostaja vprašanje: kakšna je razlika? Kaj lahko storite, ko je aktivna »odpravljanje napak« in kaj je vključeno v končno izvršljivo datoteko vs. kako izgleda izvršljiv program, ko se uporabi "release"?

Konfiguracije zgraditi

Privzeto so tri (čeprav v Project Managerju vidite le dve) konfiguracije gradnje, ki jih je ustvaril Delphi, ko začnete nov projekt. To so Base, Debug in Release.

The Osnovna konfiguracija deluje kot osnovni niz vrednosti možnosti ki se uporablja v vseh konfiguracijah, ki jih naknadno ustvarite.

Omenjene vrednosti možnosti so sestavljanje in povezovanje in še en niz možnosti, ki jih lahko spremenite za svoj projekt v pogovornem oknu Možnosti projekta (glavni meni: Projekt - Možnosti).

The Konfiguracija napak razširja Base tako, da onemogoči optimizacijo in omogoči odpravljanje napak, pa tudi z nastavitvijo posebnih možnosti sintakse.

The Sprostite konfiguracijo razširja Base, da ne ustvari simboličnih informacij za odpravljanje napak, koda se ne generira za klice TRACE in ASSERT, kar pomeni, da se velikost izvršljivega programa zmanjša.

Dodate lahko lastne konfiguracije sestavljanja in izbrišete privzete konfiguracije za odpravljanje napak in izdajo, osnovne pa ne morete izbrisati.

Konfiguracije zgradbe se shranijo v datoteko projekta (.dproj). DPROJ je datoteka XML, tukaj je opisan razdelek s konfiguracijami gradnje:

00400000.. \ $ (Konfiguracija) \ $ (platforma) WinTypes = Windows; WinProcs = Windows; DbiTypes = BDE; DbiProcs = BDE; $ (DCC_UnitAlias). \ $ (Konfiguracija) \ $ (platforma) DEBUG; $ (DCC_Define) lažno. prav. lažno. SPROSTITEV; $ (DCC_Define) 0. lažno.

Seveda datoteke DPROJ ne boste spreminjali ročno, vzdržuje jo Delphi.

* Lahko * preimenujete konfiguracije gradnje, lahko * spremenite nastavitve za vsako konfiguracijo sestavljanja, * lahko * naredite tako, da je »release« za odpravljanje napak in »odpravljanje napak« optimizirano za vaše stranke. Zato ne veste, kaj počnete :)

Sestavljam, gradim, izvajam

Ko delate na svoji aplikaciji in jo razvijate, lahko aplikacijo sestavite, sestavite in zaženete neposredno iz IDE. Če sestavite, zgradite in zaženete, boste ustvarili izvršljivo datoteko.

S sestavljanjem bo sintaksa preverila vašo kodo in sestavila aplikacijo - upoštevajoč le tiste datoteke, ki so se spremenile od zadnje zgraditve. Če kompilirate, ustvarite datoteke DCU.

Gradnja je razširitev za zbiranje, kjer so sestavljene vse enote (tudi tiste, ki niso spremenjene). Ko spremenite možnosti projekta, morate graditi!

Teče sestavi kodo in zažene aplikacijo. Zaženete lahko z odpravljanjem napak (F9) ali brez odpravljanja napak (Ctrl + Shift + F9). Če se zažene brez odpravljanja napak, razhroščevalnik, vgrajen v IDE, ne bo priklican - vaše točke za odpravljanje napak bodo "ne" delovale.

Zdaj, ko veste, kako in kje so shranjene konfiguracije zgradbe, poglejmo razliko med gradnjami za odpravljanje napak in izdajo.

02

z dne 03

Konfiguracija zgradbe: DEBUG - za odpravljanje napak in razvoj

Napaka konfiguracije gradnje v Delphiju
Konfiguracija za odpravljanje napak v programu Delphi.Žarko Gajić

Privzeta nastavitev konfiguracije gradnje, ki jo najdete v upravitelju projektov za svoj projekt Delphi, ustvari Delphi, ko ustvaril novo aplikacijo / projekt.

Konfiguracija napak onemogoči optimizacijo in omogoči odpravljanje napak.

Če želite urediti konfiguracijo gradnje: z desno miškino tipko kliknite konfiguracijsko ime, v kontekstnem meniju izberite »Uredi« in poiskali boste pogovorno okno Možnosti projekta.

Možnosti za odpravljanje napak

Ker odpravljanje napak podaljša sestavitev konfiguracije Base, bodo tiste nastavitve z drugačno vrednostjo prikazane krepko.

Za odpravljanje napak (in s tem odpravljanje napak) so posebne možnosti:

  • Delphi Compiler - Zbiranje - Generacija kode - Optimizacija izklopljena - prevajalnik NE bo izvajal številnih optimizacij kode, kot je na primer podajanje spremenljivk v registre CPU, odstranjevanje običajnih podeksprescij in ustvarjanje indukcijskih spremenljivk.
  • Delphi Compiler - Zbiranje - Generacija kode - Okvirji zložite vklopljeno - okviri zlaganja so vedno ustvarjeni za postopke in funkcije, tudi kadar niso potrebni.
  • Delphi Compiler - Zbiranje - Odpravljanje napak - Informacije za odpravljanje napak VKLJUČENO - ko je program ali enota sestavljena s to možnostjo omogočena, integriran razhroščevalnik vam omogoča enostopenjsko in nastavitev prelomnih točk. Informacije o odpravljanju napak so "vklopljene" ne vplivajo na velikost ali hitrost izvršljivega programa - informacije o odpravljanju napak se zbirajo v DCU-jev in se ne povežejo v izvedljiv program.
  • Delphi Compiler - Zbiranje - Odpravljanje napak - Lokalni simboli VKLJUČENI - Ko je program ali enota sestavljena s to možnostjo, je integriran razhroščevalnik vam omogoča pregled in spreminjanje lokalnih spremenljivk modula. Lokalni simboli "vklopljeni" ne vplivajo na velikost ali hitrost izvedljivega programa.

OPOMBA: privzeto je "uporabi napak .dcus" možnost je izklopljena. Vključitev te možnosti vam omogoča, da to storite odpravljanje napake izvorne kode Delphi VCL (nastavite prelomno točko v VCL)

Poglejmo zdaj, kaj "Release" govori o ...

03

z dne 03

Konfiguracija zgradbe: SPROSTITEV - za javno distribucijo

Konfiguracija zgradbe izdaje Delphi
Konfiguracija zgradbe izdaje Delphi.Žarko Gajić

Privzeta konfiguracija gradnje Release, ki jo najdete v Project Managerju za svoj projekt Delphi, ustvari Delphi, ko ste ustvarili novo aplikacijo / projekt.

Konfiguracija izdaje omogoča optimizacijo in onemogoča odpravljanje napak, koda se ne generira za klice TRACE in ASSERT, kar pomeni, da se velikost izvršljivega dela zmanjša.

Če želite urediti konfiguracijo gradnje: z desno miškino tipko kliknite konfiguracijsko ime, v kontekstnem meniju izberite »Uredi« in poiskali boste pogovorno okno Možnosti projekta.

Možnosti sprostitve

Ker izdaja razširja gradnjo konfiguracije Base, bodo tiste nastavitve, ki imajo drugačno vrednost, prikazane krepko.

Za Release (različico, ki jo uporabljajo uporabniki vaše aplikacije - ne za odpravljanje napak) so posebne možnosti:

  • Delphi Compiler - prevajanje - ustvarjanje kode - Optimizacija vklopljena - prevajalnik bo izvedel številne optimizacije kode, na primer umeščanje spremenljivk v registre procesorja, odpravljanje skupnih podekspresij in ustvarjanje indukcijskih spremenljivk.
  • Delphi Compiler - Zbiranje - Generacija kode - Okvirji zložite izklopljeno - okviri zlaganja NISO ustvarjeni za postopke in funkcije.
  • Delphi Compiler - Zbiranje - Odpravljanje napak - Podatki o odpravljanju napak izključeni - ko je program ali enota sestavljena s to možnostjo onemogočena, integriran razhroščevalnik NE dovoljuje enostopenjskega in nastavitve prelomnih točk.
  • Delphi Compiler - Zbiranje - Odpravljanje napak - Lokalni simboli izklopljeni - Ko je program ali enota sestavljena s to možnostjo onemogočena, integrirani razhroščevalnik NE dovoljuje pregledovanja in spreminjanja lokalnih spremenljivk modula.

To so privzete vrednosti, ki jih je Delphi nastavil za nov projekt. Spremenite lahko katero koli od možnosti projekta, da naredite svojo različico konfiguracij za odpravljanje napak ali izdajo sestavljenih sestavnih delov.

instagram story viewer