28

为什么在 Mac 中编译 C++ 总是创建 *.dSYM 目录?有没有办法禁用它?

4

2 回答 2

42

这是因为您的 Xcode 项目设置为使用外部 dSYM 文件构建调试符号。这对于发布版本实际上非常方便,因为这意味着您可以从应用程序中删除调试符号,并且当用户向您发送故障转储时,您可以使用原始 dSYM 文件生成适当的堆栈跟踪以进行调试。

无论如何,您不需要在项目中禁用调试符号生成。相反,只需将调试符号类型更改为 DWARF(而不是“带有 dSYM 文件的 DWARF”)。您也可以使用 Stabs,但这是旧格式。

编辑:啊,我看到你的意思是从命令行,而不是从 Xcode。我没有坐在我的 mac atm 前面,但我从gcc4 联机帮助页中看到,您可以指定 -gstabs 来使用 Stabs 格式。

于 2009-02-25T09:21:48.543 回答
2

我假设您使用 Xcode。转到“项目”/“编辑项目设置”菜单项,单击构建选项卡,在“GCC 4.0 - 代码生成”部分下,取消选中生成调试符号。您可以在搜索字段中输入“sym”来帮助找到它。

于 2009-02-25T08:16:47.107 回答