我正在編寫一個通過套接字與服務器應用程序通信的客戶端應用程序。我目前正在經歷奇怪的行爲,應用程序完成正常運行,但後來我得到了很多行,如下所示。程序退出時出現C++內存錯誤
*** glibc detected *** ./sll_client: free(): invalid next size (fast): 0x0000000000787720 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x78a8f)[0x7f9e9cbb5a8f]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x73)[0x7f9e9cbb98e3]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZNSsD1Ev+0x39)[0x7f9e9d409019]
======= Memory map: ========
7f9e9d893000-7f9e9d895000 rw-p 00021000 07:00 7473 /lib/x86_64-linux- gnu/ld-2.13.so
7fff68119000-7fff6813a000 rw-p 00000000 00:00 0 [stack]
7fff68167000-7fff68168000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Aborted
具體的「glibc」錯誤幾乎每次都不同。
我已經通過Valgrind運行應用程序,並且幾乎沒有檢測到內存泄漏。那些在那裏似乎沒有造成任何問題。是否有這個問題的一般原因?我可以發佈一些代碼,但它超過三千行C++,這是三個星期以來第一次出現這個問題。
valgrind是否報告除內存泄漏之外的任何其他問題? – 2011-05-07 03:28:06
我會說它已經完成正常運行......現在顯然運行不正常。 – 2011-05-07 03:33:49
@Fred:我已經添加了Valgrind的日誌鏈接 – XBigTK13X 2011-05-07 03:38:27