Debugowanie vs. Wydanie w konfiguracjach kompilacji Delphi 1/3

01

z 03

Konfiguracje kompilacji - podstawa: debugowanie, wydanie

Menedżer projektu Delphi
Menedżer projektu Delphi.Zarko Gajic

Okno Project Manager w twoim Delfy (RAD Studio) IDE wyświetla i organizuje zawartość bieżącej grupy projektów i zawartych w niej projektów. Spowoduje to wyświetlenie listy wszystkich jednostek, które są częścią twojego projektu, a także wszystkich zawartych formularzy i plików zasobów.

Sekcja Konfiguracje kompilacji zawiera listę różnych konfiguracji kompilacji dostępnych dla projektu.

Niektóre nowsze (poprawne: począwszy od Delphi 2007) Wersje Delphi mają dwie (trzy) domyślne konfiguracje kompilacji: DEBUG i RELEASE.

W artykule o kompilacji warunkowej 101 wspomniano o konfiguracjach kompilacji, ale nie wyjaśniono różnicy w szczegółach.

Debugowanie vs. Wydanie

Ponieważ możesz aktywować każdą konfigurację kompilacji, którą widzisz w Project Managerze, i zbudować swój projekt, tworząc inny plik wykonywalny, pytanie brzmi: Jaka jest różnica między debugowaniem a wydaniem?

Sama nazwa: „debug” i „release” powinna skierować cię w dobrym kierunku.

instagram viewer
  • Konfiguracja debugowania powinna być aktywna i używana podczas opracowywania, debugowania i zmiany aplikacji.
  • Konfiguracja wersji powinna zostać aktywowana podczas budowania Twojej aplikacji, aby wygenerowany plik wykonywalny został wysłany do użytkowników.

Pozostaje jednak pytanie: jaka jest różnica? Co możesz zrobić, gdy aktywne jest „debugowanie” i co zawiera ostateczny plik wykonywalny vs. jak wygląda plik wykonywalny po zastosowaniu „release”?

Konfiguruj kompilacje

Domyślnie istnieją trzy (chociaż w Menedżerze projektów widać tylko dwie) konfiguracje kompilacji utworzone przez Delphi po uruchomieniu nowego projektu. Są to Baza, Debugowanie i Wydanie.

The Konfiguracja podstawowa działa jako podstawowy zestaw wartości opcji który jest używany we wszystkich konfiguracjach, które następnie tworzysz.

Wspomniane wartości opcji to kompilacja i łączenie oraz inny zestaw opcji, które możesz zmienić dla swojego projektu za pomocą okna dialogowego Opcje projektu (menu główne: Projekt - Opcje).

The Konfiguracja debugowania rozszerza Base poprzez wyłączenie optymalizacji i włączenie debugowania, a także ustawienie określonych opcji składni.

The Zwolnij konfigurację rozszerza program Base, aby nie generował symbolicznych informacji debugowania, kod nie jest generowany dla wywołań TRACE i ASSERT, co oznacza, że ​​rozmiar pliku wykonywalnego jest zmniejszony.

Możesz dodać własne konfiguracje kompilacji i usunąć zarówno domyślne konfiguracje debugowania, jak i wydania, ale nie możesz usunąć wersji podstawowej.

Konfiguracje kompilacji są zapisywane w pliku projektu (.dproj). DPROJ jest plikiem XML, oto jak sekcja z konfiguracjami kompilacji:

00400000.. \ $ (Config) \ $ (Platforma) WinTypes = Windows; WinProcs = Windows; DbiTypes = BDE; DbiProcs = BDE; $ (DCC_UnitAlias). \ $ (Config) \ $ (Platforma) DEBUG; $ (DCC_Define) fałszywy. prawdziwe. fałszywy. RELEASE; $ (DCC_Define) 0. fałszywy.

Oczywiście nie zmienisz pliku DPROJ ręcznie, jest on obsługiwany przez Delphi.

* Możesz * zmienić nazwę konfiguracji kompilacji, * możesz * zmienić ustawienia każdej konfiguracji kompilacji, * możesz * zrobić to tak, aby „release” służyło do debugowania, a „debugowanie” było zoptymalizowane dla twoich klientów. Dlatego nie musisz wiedzieć, co robisz :)

Kompilowanie, budowanie, bieganie

Podczas pracy nad aplikacją, rozwijając ją, możesz kompilować, budować i uruchamiać aplikację bezpośrednio z IDE. Kompilacja, kompilacja i uruchomienie wygeneruje plik wykonywalny.

Kompilacja sprawdzi składnię kodu i skompiluje aplikację - biorąc pod uwagę tylko te pliki, które zmieniły się od czasu ostatniej Kompilacji. Kompilacja tworzy pliki DCU.

Budowanie jest rozszerzeniem kompilacji, w której kompilowane są wszystkie jednostki (nawet te niezmienione). Po zmianie opcji projektu powinieneś zbudować!

Uruchomienie kompiluje kod i uruchamia aplikację. Możesz uruchomić z debugowaniem (F9) lub bez debugowania (Ctrl + Shift + F9). Jeśli zostanie uruchomiony bez debugowania, debuger wbudowany w IDE nie zostanie wywołany - punkty przerwania debugowania nie będą działać.

Teraz, gdy wiesz, jak i gdzie są zapisywane konfiguracje kompilacji, zobaczmy różnicę między kompilacjami debugowania i wydania.

02

z 03

Konfiguracja kompilacji: DEBUG - do debugowania i programowania

Debugowanie konfiguracji kompilacji w Delphi
Debugowanie konfiguracji kompilacji w Delphi.Zarko Gajic

Domyślna konfiguracja kompilacji Debugowanie, którą można znaleźć w Menedżerze projektów dla projektu Delphi, jest tworzona przez Delphi podczas utworzył nową aplikację / projekt.

Konfiguracja debugowania wyłącza optymalizację i umożliwia debugowanie.

Aby edytować konfigurację kompilacji: kliknij prawym przyciskiem myszy nazwę konfiguracji, wybierz „Edytuj” z menu kontekstowego, a zobaczysz okno dialogowe Opcje projektu.

Opcje debugowania

Ponieważ debugowanie rozszerza kompilację konfiguracji podstawowej, ustawienia o innej wartości zostaną wyświetlone pogrubioną czcionką.

W przypadku debugowania (a zatem i debugowania) dostępne są następujące opcje:

  • Delphi Compiler - Kompilowanie - Generowanie kodu - Optymalizacja WYŁ - kompilator NIE przeprowadzi szeregu optymalizacji kodu, takich jak umieszczanie zmiennych w rejestrach procesora, eliminowanie typowych podwyrażeń i generowanie zmiennych indukcyjnych.
  • Delphi Compiler - Kompilowanie - Generowanie kodu - Układaj ramki włączone - ramki stosu są zawsze generowane dla procedur i funkcji, nawet gdy nie są potrzebne.
  • Delphi Compiler - Kompilowanie - Debugowanie - Informacje debugowania WŁĄCZONE - po kompilacji programu lub jednostki z włączoną tą opcją, zintegrowany debugger pozwala na jednoetapowe ustawianie punktów przerwania. Włączone informacje debugowania nie wpływają na rozmiar ani szybkość programu wykonywalnego - informacje debugowania są kompilowane w jednostkach DCU i nie są łączone z plikiem wykonywalnym.
  • Delphi Compiler - Kompilowanie - Debugowanie - Symbole lokalne WŁ - Po kompilacji programu lub jednostki z włączoną tą opcją, zintegrowany debugger pozwala badać i modyfikować lokalne zmienne modułu. Włączone symbole lokalne nie wpływają na rozmiar ani szybkość wykonywalnego programu.

UWAGA: domyślnie „użyj debugowania .dcus” opcja jest wyłączona. Włączenie tej opcji umożliwia debuguj kod źródłowy Delphi VCL (ustaw punkt przerwania w VCL)

Zobaczmy teraz, na czym polega „Wydanie” ...

03

z 03

Konfiguracja kompilacji: RELEASE - do publicznej dystrybucji

Konfiguracja kompilacji wydania Delphi
Konfiguracja kompilacji wydania Delphi.Zarko Gajic

Domyślna wersja kompilacji, którą można zlokalizować w Menedżerze projektów dla projektu Delphi, jest tworzona przez Delphi podczas tworzenia nowej aplikacji / projektu.

Konfiguracja wersji umożliwia optymalizację i wyłącza debugowanie, kod nie jest generowany dla wywołań TRACE i ASSERT, co oznacza, że ​​rozmiar pliku wykonywalnego jest zmniejszony.

Aby edytować konfigurację kompilacji: kliknij prawym przyciskiem myszy nazwę konfiguracji, wybierz „Edytuj” z menu kontekstowego, a zobaczysz okno dialogowe Opcje projektu.

Opcje wydania

Ponieważ wersja rozszerza kompilację konfiguracji podstawowej, ustawienia o innej wartości zostaną wyświetlone pogrubioną czcionką.

W przypadku wydania (wersja do użytku przez użytkowników aplikacji - nie do debugowania) dostępne są następujące opcje:

  • Kompilator Delphi - Kompilowanie - Generowanie kodu - Optymalizacja WŁ - kompilator przeprowadzi szereg optymalizacji kodu, takich jak umieszczanie zmiennych w rejestrach procesora, eliminowanie typowych podwyrażeń i generowanie zmiennych indukcyjnych.
  • Delphi Compiler - Kompilowanie - Generowanie kodu - Ustaw ramki WYŁĄCZONE - ramki stosu NIE są generowane dla procedur i funkcji.
  • Delphi Compiler - Kompilowanie - Debugowanie - Informacje debugowania wyłączone - po kompilacji programu lub jednostki z wyłączoną tą opcją, zintegrowany debugger NIE pozwala na jednoetapowe ustawianie punktów przerwania.
  • Delphi Compiler - Kompilowanie - Debugowanie - Symbole lokalne WYŁ - Po kompilacji programu lub jednostki z wyłączoną tą opcją, zintegrowany debugger NIE pozwala badać i modyfikować lokalnych zmiennych modułu.

Są to wartości domyślne ustawione przez Delphi dla nowego projektu. Możesz zmienić dowolną opcję projektu, aby utworzyć własną wersję konfiguracji debugowania lub kompilacji wydania.

instagram story viewer