madExcept所需的编译器指令

4

我使用madExcept(不是从IDE中使用),但是在自动化批处理中使用。

为了获得堆栈跟踪和行号,我应该开启哪些编译指令。我不关心加载的模块、进程或CPU寄存器。

目前我使用的是:

{$DEBUGINFO ON}
{$LOCALSYMBOLS ON}
{$REFERENCEINFO OFF}

我希望尽可能减少“臃肿”但保留行号。

2个回答

3
以下是关键设置:

本地符号和参考信息选项不影响madExcept错误报告。您提到的任何设置都不会影响可执行文件的大小。


“启用调试信息”是指编译 | 调试信息还是链接 | 调试信息?根据 http://docwiki.embarcadero.com/RADStudio/XE8/en/Debug_information_(Delphi) 的说明,似乎链接器是正确的选择。 - Gad D Lord
不,我的意思是编译器设置。链接器选项控制是否将调试信息嵌入可执行文件中。 - David Heffernan

1
根据mad except帮助文件,您应该在命令行编译器中传递-gd开关以获得详细的映射文件。编译后别忘了运行madExceptPatch.exe工具。
当您在项目选项中启用madexcept时,它会设置以下两个编译器选项:
{$DEBUGINFO 1}
{$LOCALSYMBOLS ON}

这个问题是关于行号的。你的回答没有涉及到这一点。 - David Heffernan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接