我正在尝试在正在处理的应用程序上调试segfault(当然可以在linux上运行,因此不能将其用作调试核心转储的后备设备)。无论如何,我已经设置了“ulimit -c unlimited”,并且雪豹报告了“段错误(核心已转储)”,但是可惜没有找到核心文件。 Snow Leopard是否将它们放在特殊的位置,还是我需要启用其他选项?令人惊讶的是,当我在Google上搜索时,返回的信息很少。

最佳答案

您需要配置launchd,以便它实际上写出核心转储。您可以在Apple TechNote.中找到相关说明

基本上,您需要通过添加以下行来启用核心转储:

limit core unlimited

到您的/etc/launchd.conf文件,如有必要,请创建它,然后重新启动。

您还可以通过调用以下命令为单个终端 session 启用核心转储:
ulimit -c unlimited

在启动命令行应用之前。

您可以在/cores中找到核心转储。请注意,因为核心转储可能很大,并且如果不定期清理/cores目录,很容易填满驱动器。

关于macos - 雪豹是否将堆芯区放置在特殊的地方?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2320503/

10-15 16:22