[問題] 堆積損毀 找不出問題出在哪

看板C_and_CPP (C/C++)作者 (小嫩)時間16年前 (2009/04/19 02:53), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/2 (看更多)
我delete 掉一個我new出來的空間時 他會觸發一個 錯誤 訊息是下面這樣... ======================================================================== Windows 已觸發 X.exe 內的中斷點。 可能是因為堆積損毀,表示 X.exe 內有錯誤或其載入的任 何 DLL 內有錯誤。 也有可能是因為 X.exe 取得焦點時使用者按下 F12。 輸出視窗或許有較多的診斷資料。 ======================================================================== 停在 free.c的 #endif /* _WIN64 */ { retval = HeapFree(_crtheap, 0, pBlock); <=========這行... 如果按繼續 他就會出現 expression:_CrtIsValidHeapPointer~~ google一下 說是delete到 一個根本沒new東西的指標 可是我應該都有new阿 @@ 我測試這個delete 沒new的指標 是停在_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)); 問題應該不是出在這@@ 我trace了好久的時間 我對這指標指到的結構 沒有做任何更動 程式突然發現會出現這個錯誤 之前delete這指標都沒有事情........ 想請教問題大概出在哪裡?? 請經驗豐富的版友可否提供我一些線索... 本來想說是程式結束才會壞 乾脆算了 但實在很想找出問題@@ 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.130.67 ※ 編輯: dreamboat66 來自: 220.136.130.67 (04/19 03:05) ※ 編輯: dreamboat66 來自: 220.136.130.67 (04/19 03:10)

04/19 03:14, , 1F
把程式碼貼出來看看吧?
04/19 03:14, 1F

04/19 03:20, , 2F
因為程式很大很大 我只是改別人的~ 沒辦法貼
04/19 03:20, 2F

04/19 03:20, , 3F
從google找到的資料都怪怪的.....
04/19 03:20, 3F

04/19 03:21, , 4F
而我剛剛竟然重建專案 問題就不再出現...很詭異
04/19 03:21, 4F

04/19 03:21, , 5F
是跟dll有關係嗎?
04/19 03:21, 5F

04/19 06:32, , 6F
dll裡面配置的就要在dll裡面歸還
04/19 06:32, 6F

04/19 13:57, , 7F
可是我完全沒有自己去作dl只是用該用的dll而已@@
04/19 13:57, 7F
文章代碼(AID): #19wY6lCN (C_and_CPP)
文章代碼(AID): #19wY6lCN (C_and_CPP)