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


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。