我曾经使用GDB来调试我的C / C ++程序。但是在服务器崩溃并重新安装后,GDB无法正常工作。程序报告“核心转储”后,实际上找不到核心文件。我要编译的标志是:
CFLAGS= -ggdb -g -pg -Wall -O2 $(shell pkg-config --libs glib-2.0 gthread-2.0 --cflags glib-2.0)
我也设置了这个:
ulimit -c unlimited
我已经删除了所有对象/可执行文件并重新编译。但核心文件根本就缺失了。有人能说出其他可能的原因吗?感谢。
答案 0 :(得分:1)
在我的机器上(Ubuntu 12.04),文件/proc/sys/kernel/core_pattern
将核心转储结果传递给/usr/share/apport/apport
:
|/usr/share/apport/apport %p %s %c
因此改为模式:
sudo bash -c 'echo core.%e.%p > /proc/sys/kernel/core_pattern'
有效。