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


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