最近遇到升級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的位置
沒有留言:
張貼留言