首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >madExcept所需的编译器指令

madExcept所需的编译器指令
EN

Stack Overflow用户
提问于 2015-04-08 22:18:45
回答 2查看 827关注 0票数 4

我使用madExcept (不是来自IDE),而是在一个自动批处理过程中使用。

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

我目前的竞选对象是:

代码语言:javascript
复制
{$DEBUGINFO ON}
{$LOCALSYMBOLS ON}
{$REFERENCEINFO OFF}

但希望尽可能多地删除“脂肪”,但保留行号。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-08 22:23:59

这些是关键的设置:

  • 启用调试信息(编译器选项)。这将确保生成行号信息。如果未启用此选项,则将没有行号,每个函数中只有字节偏移。
  • 调试信息(链接器选项)禁用。这确保可执行文件不包含调试信息。
  • 链接器地图文件选项设置为详细信息。这确保在.map文件中发出行号信息,该文件是madExcept用来将地址转换为单元名称、方法名称、行号等的信息。

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

票数 3
EN

Stack Overflow用户

发布于 2015-04-09 06:26:44

根据mad除了帮助文件,您应该将-gd开关传递给命令行编译器,以便获得详细的地图文件。编译后不要忘记运行madExceptPatch.exe工具。

当您在项目选项中启用madexcept时,它将设置以下两个编译器选项:

代码语言:javascript
复制
{$DEBUGINFO 1}
{$LOCALSYMBOLS ON}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29526351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档