2013-02-28 80 views
0

當執行GDB>核心文件,GDB提供了以下錯誤,然後崩潰創建一個核心文件:GDB:malloc()函數:內存損壞(快):

Reading symbols from ./libtcmalloc_minimal.so.0... 
*** glibc detected *** gdb: malloc(): memory corruption (fast): 0x0000000000ec04a0 *** 

我還沒有發現任何參考到gdb崩潰與此錯誤。有沒有人遇到過這個?如果是這樣,可以做些什麼。

GDB的版本是:GNU GDB(GDB)SUSE(6.8.50.20090302-1.5.18)

感謝

+0

用'-g'編譯。它是否會說某些行號?小心顯示一些展示問題的最小可編譯代碼? – cnicutar 2013-02-28 17:26:19

+0

我不是自己編譯代碼 - 只是試圖獲取堆棧跟蹤以提交進行分析。只是爲了澄清,當運行gdb來分析核心而不是應用程序本身運行時會發生此錯誤。 – 2013-02-28 20:19:50

+0

嘗試使用程序和核心文件名作爲參數調用gdb,即'gdb prog-file core-file' – 2013-03-01 15:17:20

回答

0

用什麼辦法來完成

任何崩潰在GDB本身的一個bug。

但是,沒有人會關心這個錯誤,除非它可以複製目前 GDB(你的是5歲)。

因此,download當前版本的GDB(目前7.5.1),並構建它。

如果有效,請使用它來調試您的問題。

如果不起作用,請在GDB bugzilla中提交錯誤。

0

如果你得到這個錯誤在你的程序調用

ptr = (ptr_t*)malloc(sizeof(ptr_t)); 

的結果,也可能是由於缺少文件stdlib.h頭。