相关疑难解决方法(0)

如何在Mac OS X中生成核心转储?

好像我无法在Mac OS X 10.6.8中生成核心转储.

$ ulimit -c unlimited
$ ./a.out 
Hello world!
Segmentation fault
$ find ~/ -type f -name core 

# ls -la /cores/
total 0
drwxrwxr-t@  2 root  admin    68 24 jui  2010 .
drwxrwxr-t  31 root  admin  1122 17 oct 15:52 ..
Run Code Online (Sandbox Code Playgroud)

我当前的目录,我的HOME和/ cores /仍为空...

macos coredump

23
推荐指数
4
解决办法
4万
查看次数

如何防止EXC_BAD_ACCESS崩溃应用程序?

有没有办法防止EXC_BAD_ACCESS应用程序崩溃,就像@try..@catch您可以优雅地处理异常一样.

更新:

代码在尝试取消引用无效指针时崩溃.这是第三方库,它与外部硬件接口,因此我无法在本地调试.我试图阻止它崩溃并将数据输出到我的应用程序上的调试控制台.

objective-c

14
推荐指数
3
解决办法
2万
查看次数

如何在OS X上启用完整的coredump?

看起来OS X(10.6)默认不生成编码转储.

使用ulimit -c unlimited它不是一个好的解决方案,因为ulimit确实在环境变量中设置了限制.这仅适用于从执行ulimit的shell执行的控制台应用程序.如果你有一个gui应用程序,这将无法正常工作.

macos coredump

10
推荐指数
1
解决办法
7302
查看次数

在 Mac OS Monterey 上,核心转储不会写入 /cores

一段时间以来,我一直在努力反对这一点。显然读过这个:Where are core dumps write on Mac?

而这导致了这一点。

这样我们就100%清楚了:

我做了:

touch  /cores/x
rm /cores/x
Run Code Online (Sandbox Code Playgroud)

所以写权限是好的。

做过

ulimit -c unlimited
Run Code Online (Sandbox Code Playgroud)

所以应该生成核心。

但即使是微不足道的:

sleep 100 & killall -SIGSEGV sleep
Run Code Online (Sandbox Code Playgroud)

不生成核心。我目前的赌注是操作系统的文件系统保护功能之一让我感到悲伤。另一种可能性是这与 ARM(在 M1 Max 上运行)有关。

任何想法都非常受欢迎...我什至尝试过这个但没有成功:(Mac)将核心文件保留在可执行文件所在的位置而不是/cores?

unix macos coredump signals

9
推荐指数
1
解决办法
1378
查看次数

标签 统计

coredump ×3

macos ×3

objective-c ×1

signals ×1

unix ×1