1

在 Windows 下开发和部署应用程序时,开发人员可以选择将编译器生成的 .pdb 文件存储在本地,作为每次构建的一部分,并让他的程序调用MiniDumpWriteDump以响应崩溃以生成 .dmp 文件稍后可以将其发送回开发人员。然后,开发人员可以将收到的 .dmp 与适当的 .pdb 文件和可执行文件进行匹配,并使用它对崩溃进行事后调试(即查看堆栈跟踪等)。

设置和管理起来很痛苦,但优点是它允许开发人员从他发布的程序中剥离所有调试信息,但仍然能够调试现场发生的崩溃。这允许程序的安装大小要小得多,并且可能使程序不太容易受到逆向工程的影响。

我的问题是,MacOS/X 是否有类似 .pdb 的机制?我在 MacOS/X 上看到的唯一选择是要么“剥离”你的可执行文件(产生一个小的可执行文件,但如果它崩溃,调试信息就很少),或者不(产生一个提供非常有用的崩溃报告,当它崩溃时,但比它需要的要大得多)。

4

1 回答 1

0

我想dsymutil这就是你要找的。它创建一个.dSYM以它运行的二进制文件命名的文件夹,其中包含调试信息。

老实说,我从未真正使用过它。而且我不确定远程计算机需要什么样的堆栈跟踪。

于 2017-01-26T16:35:15.617 回答