看板 C_and_CPP 關於我們 聯絡資訊
我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)
james732:把程式碼貼出來看看吧? 04/19 03:14
dreamboat66:因為程式很大很大 我只是改別人的~ 沒辦法貼 04/19 03:20
dreamboat66:從google找到的資料都怪怪的..... 04/19 03:20
dreamboat66:而我剛剛竟然重建專案 問題就不再出現...很詭異 04/19 03:21
dreamboat66:是跟dll有關係嗎? 04/19 03:21
LiloHuang:dll裡面配置的就要在dll裡面歸還 04/19 06:32
dreamboat66:可是我完全沒有自己去作dl只是用該用的dll而已@@ 04/19 13:57