linux下coredump的使用

临时性打开coredump
echo core.%e.%p > /proc/sys/kernel/core_pattern
ulimit  -c unlimited
%% 单个%字符
%p 所dump进程的进程ID
%u 所dump进程的实际用户ID
%g 所dump进程的实际组ID
%s 导致本次core dump的信号
%t core dump的时间 (由1970年1月1日计起的秒数)
%h 主机名
%e 程序文件名

永久打开coredump
/etc/rc.local中加入echo core.%e.%p > /proc/sys/kernel/core_pattern
/etc/profile中加入ulimit  -c unlimited

调试-g编译的debug程序的coredump
gdb programe_file coredump_file

调试无-g编译的release程序的coredump
步骤1.相同的代码编译debug版本program_debug和release版本program_release
步骤2.objcopy --only-keep-debug program_debug symbol.dbg 用来生成生成符号表
步骤3.gdb --symbol=symbol.dbg -exec=program_release -core=coredump_file


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章