2019年10月20日 星期日

使用gdb偵錯crash的程式

最近遇到升級pmacct版本之後發生子程序crash的情況
可以使用gdb配合core dump檔案偵錯
因為沒什麼C語言除錯的經驗,怕忘了所以筆記一下

1.啟用Core Dump
ulimit -c unlimited

2.執行gdb 選擇要執行的程式
輸入參數開始執行 run -f pmacct.conf
出現錯誤之後可Ctrl - C 回到gdb再輸入quit離開




3.崩潰後產生的coredump檔案(結尾為pid編號)














4.載入coredump
gdb [執行檔] [CoreDump檔案]
輸入bt































從#0可以看到產生崩潰的是memcpy這個函數
使用的地方是#1的pgsql_plugin.c:475的位置

沒有留言:

張貼留言