我正在尝试在正在处理的应用程序上调试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/