Debug vs. Пускане в конфигурации на Delphi Build 1/3

click fraud protection

01

от 03

Конфигурации за изграждане - База: Отстраняване на грешки, издаване

Delphi Project Manager
Delphi Project Manager.Зарко Гаич

Прозорецът на Project Manager във вашия Delphi (RAD Studio) IDE показва и организира съдържанието на текущата ви проектна група и всички проекти, които съдържа. В него ще бъдат изброени всички единици, които са част от вашия проект, както и всички включени форми и файлове с ресурси.

Разделът Конфигурации за изграждане ще изброява различни конфигурации за изграждане, които имате за вашия проект.

Някои по-скорошни (за да бъдете правилни: започвайки от Delphi 2007) Версиите на Delphi имат две (три) конфигурации за изграждане по подразбиране: DEBUG и RELEASE.

Статията за условно компилация 101 споменава конфигурации за изграждане, но не обяснява разликата в детайлите.

Debug vs. пускане

Тъй като можете да активирате всяка от конфигурациите за сглобяване, които виждате в Project Manager и да изградите вашия проект, създавайки различен изпълним файл, въпросът е каква е разликата между Debug и Release?

instagram viewer

Самото именуване: "отстраняване на грешки" и "освобождаване" трябва да ви насочи в правилната посока.

  • Конфигурацията за отстраняване на грешки трябва да бъде активна и използвана, докато ние разработваме и отстраняваме грешки и променяме вашето приложение.
  • Конфигурацията на освобождаването трябва да се активира, когато изграждаме вашето приложение, така че произведеният изпълним файл да бъде изпратен на потребителите.

И все пак остава въпросът: каква е разликата? Какво можете да направите, докато „отстраняването на грешки“ е активно и какво е включено в окончателния изпълним файл vs. как изглежда изпълнимият файл, когато се прилага "release"?

Конфигурации за изграждане

По подразбиране има три (въпреки че в Project Manager виждате само две) конфигурации за изграждане, създадени от Delphi, когато стартирате нов проект. Това са Base, Debug и Release.

Най- Основна конфигурация действа като основен набор от стойности на опциите който се използва във всички конфигурации, които създавате впоследствие.

Споменатите стойности на опциите са компилиране и свързване и друг набор от опции, които можете да промените за вашия проект, като използвате диалоговия прозорец Опции на проекта (главно меню: Проект - Опции).

Най- Конфигурация на грешки разширява Base чрез деактивиране на оптимизацията и активиране на отстраняването на грешки, както и задаване на конкретни опции за синтаксис.

Най- Освободете конфигурацията разширява Base, за да не произвежда символична информация за отстраняване на грешки, кодът не се генерира за TRACE и ASSERT обаждания, което означава, че размерът на изпълнимия ви файл е намален.

Можете да добавите свои собствени конфигурации за изграждане и можете да изтриете както конфигурациите по подразбиране Debug, така и Release, но не можете да изтриете Base.

Конфигурациите за изграждане се запазват във файла на проекта (.dproj). DPROJ е XML файл, ето как секция с конфигурации за изграждане:

00400000.. \ $ (Config) \ $ (платформа) WinTypes = Windows; WinProcs = Windows; DbiTypes = BDE; DbiProcs = BDE; $ (DCC_UnitAlias). \ $ (Config) \ $ (платформа) DEBUG; $ (DCC_Define) невярно. вярно. невярно. ОСВОБОЖДАВАНЕ; $ (DCC_Define) 0. невярно.

Разбира се, няма да промените ръчно файла DPROJ, той се поддържа от Delphi.

Можете * можете * да преименувате конфигурации за изграждане, можете * да * промените настройките за всяка конфигурация на сглобяване, можете * можете * да го направите така, че „освобождаването“ да е за отстраняване на грешки и „отстраняване на грешки“ да бъде оптимизирано за вашите клиенти. Следователно не трябва да знаете какво правите :)

Съставяне, изграждане, изпълнение

Докато работите над приложението си, разработвайки го, можете да компилирате, изграждате и стартирате приложението директно от IDE. Компилирането, изграждането и стартирането ще създадат изпълним файл.

Съставянето ще провери вашия синтаксис и ще състави приложението - като се вземат предвид само онези файлове, които са се променили след последната компилация. Съставянето създава DCU файлове.

Създаването е разширение за компилиране, където са съставени всички единици (дори и тези, които не са променени). Когато промените опциите на проекта, трябва да изградите!

Running компилира кода и стартира приложението. Можете да стартирате с отстраняване на грешки (F9) или без отстраняване на грешки (Ctrl + Shift + F9). Ако се изпълни без отстраняване на грешки, дебъгерът, вграден в IDE, няма да бъде извикан - вашите точки за прекъсване за отстраняване на грешки няма да работят.

Сега, когато знаете как и къде са запазени конфигурациите на сглобяването, нека да видим разликата между компилациите на Debug и Release.

02

от 03

Конфигурация на сглобяване: DEBUG - за отстраняване на грешки и развитие

Конфигурация за изграждане на грешки в Delphi
Конфигурация за изграждане на грешки в Delphi.Зарко Гаич

Debug за конфигуриране на конфигурацията за изграждане, който можете да намерите в Project Manager за вашия проект Delphi, се създава от Delphi, когато създаде ново приложение / проект.

Конфигурацията за отстраняване на грешки деактивира оптимизацията и позволява отстраняване на грешки.

За да редактирате конфигурацията на сглобяване: щракнете с десния бутон върху името на конфигурацията, изберете „Редактиране“ от контекстното меню и ще намерите себе си, че разглеждате диалоговия прозорец „Опции на проекта“.

Опции за отстраняване на грешки

Тъй като отстраняването на грешки разширява изграждането на конфигурацията на Base, тези настройки, които имат различна стойност, ще бъдат показани с удебелен шрифт.

За Отстраняване на грешки (и следователно отстраняване на грешки) специфичните опции са:

  • Delphi Compiler - Съставяне - Генериране на код - Оптимизация изключена - компилаторът НЯМА да извърши редица оптимизации на кодове, като поставяне на променливи в CPU регистри, елиминиране на общи субекспресии и генериране на индукционни променливи.
  • Delphi Compiler - Съставяне - Генериране на код - Рамките на стека са включени - стековите рамки винаги се генерират за процедури и функции, дори когато не са необходими.
  • Delphi Compiler - Съставяне - Отстраняване на грешки - Информацията за грешки е включена - когато се активира програма или единица с тази опция, интегрираният отладчик ви позволява да направите едноетапни и да зададете точки на прекъсване. Информацията за отстраняване на грешки, която е „включена“, не влияе върху размера или скоростта на изпълнимия файл - информацията за отстраняване на грешки се събира в DCU и не се свързва в изпълнимия файл.
  • Delphi Compiler - Съставяне - Отстраняване на грешки - Местните символи ВКЛЮЧЕНИ - Когато програма или единица е компилирана с включена тази опция, интегрираният отладчик ви позволява да изследвате и променяте локалните променливи на модула. Локалните символи, които са „включени“, не влияят на размера или скоростта на изпълнима програма.

ЗАБЕЛЕЖКА: по подразбиране, "използвайте грешка .dcus" опцията е изключена. Включването на тази опция ви позволява да отстраняване на грешки изходния код на Delphi VCL (задайте точка на прекъсване във VCL)

Нека сега да видим за какво става дума „Release“ ...

03

от 03

Конфигурация на изграждане: ИЗПЪЛНЕНИЕ - за обществено разпространение

Конфигурация за изграждане на Delphi
Конфигурация за изграждане на Delphi.Зарко Гаич

Конфигурацията за изграждане по подразбиране Release, която можете да намерите в диспечера на проекти за вашия проект Delphi, е създадена от Delphi, когато сте създали ново приложение / проект.

Конфигурацията на изданието позволява оптимизация и деактивира отстраняването на грешки, кодът не се генерира за TRACE и ASSERT обаждания, което означава, че размерът на изпълнимия ви файл е намален.

За да редактирате конфигурацията на сглобяване: щракнете с десния бутон върху името на конфигурацията, изберете „Редактиране“ от контекстното меню и ще намерите себе си, че разглеждате диалоговия прозорец „Опции на проекта“.

Опции за освобождаване

Тъй като освобождаването разширява изграждането на конфигурацията на базата, тези настройки, които имат различна стойност, ще бъдат показани удебелено.

За Release (версията, която ще се използва от потребителите на вашето приложение - не за отстраняване на грешки) специфичните опции са:

  • Компилатор на Delphi - Съставяне - генериране на код - Оптимизация ВКЛЮЧЕНА - компилаторът ще извърши редица оптимизации на кодове, като поставяне на променливи в CPU регистри, елиминиране на общи субекспресии и генериране на индукционни променливи.
  • Delphi Compiler - Съставяне - Генериране на код - Рамките на стека са изключени - стековите рамки НЕ се генерират за процедури и функции.
  • Delphi Compiler - Съставяне - Отстраняване на грешки - Информация за отстраняване на грешки изключена - когато програма или единица е компилирана с тази опция деактивирана, интегрираният отладчик НЕ ви позволява да правите едноетапни и да задавате точки на прекъсване.
  • Delphi Compiler - Съставяне - Отстраняване на грешки - Местните символи са изключени - Когато програма или единица е компилирана с тази опция деактивирана, интегрираният отладчик НЕ ви позволява да изследвате и променяте локалните променливи на модула.

Това са стойностите по подразбиране, зададени от Delphi за нов проект. Можете да промените някоя от опциите на Project, за да направите своя собствена версия на конфигурации за отстраняване на грешки или освобождаване.

instagram story viewer