我正在重寫一個自定義的malloc,我希望能夠拋出glibc錯誤時,雙免費或腐敗,而不是經典的SegFault。這可能嗎?如何編寫一個自定義的引發glibc的自由?
*** glibc detected *** a.out: double free or corruption (fasttop): 0x0804b048 ***
======= Backtrace: =========
/lib/libc.so.6(+0x6ff0b)[0xb74baf0b]
/usr/local/gcc/gcc-cilk/lib/libstdc++.so.6(_ZdlPv+0x1f)[0xb7671b4f]
/usr/local/gcc/gcc-cilk/lib/libstdc++.so.6(_ZdaPv+0x1b)[0xb7671b9b]
a.out[0x8048983]
a.out[0x8048b12]
a.out[0x80487d7]
ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso]
Aborted
'glibc detected'只表示錯誤被'glibc'檢測到,它不是一種錯誤。 – immibis
使用調試信息('g-g'標誌爲'gcc')構建您的程序,然後回溯將顯示文件名和行號。 –