linux下ulimit -c unlimited还是不生成core文件
时间: 2024-05-10 11:15:18 浏览: 192
ubuntu-linux下程序崩溃生成coredump的方法.pdf
如果你在Linux下使用`ulimit -c unlimited`命令,但程序崩溃后仍然没有生成core文件,可能是因为以下原因:
1. 确认系统是否允许生成core文件。在终端中输入`ulimit -a`,如果`core file size`的值为0,则表示不允许生成core文件,需要修改配置文件。在`/etc/security/limits.conf`中添加以下内容:
```
* soft core unlimited
* hard core unlimited
```
然后使用`ulimit -c unlimited`命令重新加载配置文件。
2. 程序可能没有崩溃。如果程序正常退出,是不会生成core文件的。可以尝试使用kill命令强制终止程序,然后查看是否生成了core文件。
3. 可能是因为程序没有执行到崩溃的代码,或者崩溃的代码不是由你编写的。在这种情况下,程序可能会在内部捕获异常并退出,而不会生成core文件。
如果仍然无法生成core文件,可以尝试使用`strace`命令跟踪程序的系统调用,查看程序在崩溃时是否有生成core文件的操作。
阅读全文