2012年3月17日星期六

Delphi的debug编译选项

转贴的,做个记号,老觉得理解了,结果还是有些模糊。

Debug Information: 调试信息开关。用于设置是否把调试信息写入以编译的单元文件(.dcu)。
如果{$D+}或{$DEBUGINFO ON},那么你就可以单步调试。
如果{$D-}或{$DEBUGINFO OFF},你不能单步调试。
缺省:{$D+}{$DEBUGINFO ON},其实设置{$D+}就可以了,他不会影响EXE文件的大小和执行速度,只是dcu文件增大。

Local Symbols: 局部符号开关。允许或禁止局部符号信息的创建。是否生成本地符号(变量、常数)信息供调试器使用。
如果{$L+}{$LOCALSYMBOLS ON},可以在调试状态观察和修改本地符号的值。
如果{$L-}{$LOCALSYMBOLS OFF},不能观察和修改本地符号的值。
缺省:{$L+}{$LOCALSYMBOLS ON}
注:{$D+}时有效,不影响最后生成的可执行文件的大小和运行速度。这里符号是指常量(有类型)和变量。

Reference Info/Definitions Only: 符号信息开关。用于允许或禁止由Delphi的对象浏览器使用的符号引用信息的生成。
如果{$YD}或{DEFINITIONINFO ON}, 在Explorer Code中按Crtl+Left有效,但Brower(Ctrl+Shitf+B)不能显示符号所有引用的位置。
{$Y+}或{REFERENCEINFO ON}, 在Explorer Code中按Crtl+Left有效,并且Brower(Ctrl+Shitf+B)可以显示符号所有引用的位置。
{$Y-}或{DEFINITIONINFO OFF}, 在Explorer Code中按Crtl+Left无效,并且Brower(Ctrl+Shitf+B)不能显示符号所有引用的位置。
缺省:{$YD}{DEFINITIONINFO ON}
注:{$D+}且{$L+}时有效,不影响最后生成的可执行文件的大小和运行速度。这里符号是指单元、类型、常量、变量、类、函数、过程等。

Assertions: 决定是否可以使用Assert全局方法。
如果{$C+}或{$ASSERTIONS ON}, Assert函数有效。
如果{$C-}或{$ASSERTIONS OFF},Assert函数无效。
缺省:{$C+}{$ASSERTIONS ON}