coredump调试实操总结

一. coredump的使用:
何谓core文件?当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。
core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。
参考:http://blog.chinaunix.net/uid-29974135-id-4650793.html

  1. 编译debug版本的应用(+g):
    ① 生成core文件
    # ulimit -c unlimited
    # echo ‘core.%e.%p’ > /proc/sys/kernel/core_pattern
    # ./main_debug &
    死机自动产生core.bu_main.1779(文件有619M)
    ----不知道为什么有时不能产生core?
    ----将机器里面应用存放的分区挂载为rw的,好像就能够产生core了—[不知道根本原理]
    ----core文件很大,有时需要等待1分钟生成结束。
    ② 服务器上使用gdb调试
    #arm-xilinx-linux-gnueabi-gdb main_debug core.bu_main.1779
    (gdb) bt
    打印:#0 0x359e6a34 in ?? ()
    #1 0x35a2a1e4 in ?? ()
    Backtrace stopped: frame did not save the PC
    则启动时前面有提示“
    warning: Could not load shared library symbols for …
    Use the “info sharedlibrary” command to see the complete listing.”
    (gdb) bt 正确报告
    #1 0x35935b68 in exit () from /nfs/fwei/01hsr/01core_debug/lib/libc.so.6
    #2 0x006e029c in mod_if_exit_handler (sig=11)
    at /home/share/fwei/prod

猜你喜欢

转载自blog.csdn.net/wade_510/article/details/103211422