在Ubuntu中,可以通過以下步驟解決coredump問題:
ulimit -c
如果返回值為0,則表示coredump已被禁用。可以使用以下命令將其設置為unlimited:
ulimit -c unlimited
cat /proc/sys/kernel/core_pattern
echo 1 > /proc/sys/kernel/core_uses_pid
#include <stdlib.h>
int main() {
int *p = NULL;
*p = 10;
return 0;
}
然后使用以下命令編譯并運行該程序:
gcc test.c -o test
./test
如果一切正常,應該能在當前目錄找到一個名為core的coredump文件。
通過以上步驟,可以在Ubuntu上解決coredump問題,確保coredump文件生成正常,并能夠幫助定位程序中的錯誤。