MacOS/X是否有类似于Windows的PDB文件的单独调试信息机制?



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

设置和管理是一件痛苦的事情,但好处是它允许开发人员从发布的程序中删除所有调试信息,但仍然能够调试现场发生的崩溃。这使得程序的安装大小要小得多,并且可能使程序不太容易受到逆向工程的影响。

我的问题是,MacOS/X有像.pdb这样的机制吗?我看到的MacOS/X的唯一选项是"剥离"可执行文件(生成一个小的可执行文件,但如果它崩溃了,调试信息很少),或者不"剥离"(生成一份可执行文件在崩溃时提供非常有用的崩溃报告,但比其他情况下需要的要大得多)。

我认为dsymutil就是您想要的。它创建了一个.dSYM文件夹,该文件夹以运行时包含调试信息的二进制文件命名。

老实说,我从来没有真正使用过它。我也不确定你需要从远程计算机上进行什么样的堆栈跟踪。

最新更新