[問題] HeapFree()出現中斷

看板C_and_CPP作者 (兄弟霸業)時間13年前 (2011/01/12 13:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, Gcc, Linux, ...) VC++ 問題(Question): 程式執行至某個HeapFree()出現中斷 預期的正確結果(Expected Output): 在中斷之前結果都對的,理應直接結束程式,但卻在最後的HeapFree中斷 http://tinyurl.com/4ncrcsm 因研究藍芽,目前找到這份程式碼 試著執行時卻發生問題 這份程式主要是用socket概念去做藍芽傳輸 server mode時接到client端的資料時完全正確 但在最後(函式RunServerMode最後的) if ( NULL != lptstrThisComputerName ) { HeapFree(GetProcessHeap(), 0, lptstrThisComputerName); lptstrThisComputerName = NULL; } 我個人認為是memory上的問題,但在HeapFree之前有些檢查過是否為NULL 所以目前想不透是為什麼 中斷出現的訊息為: Windows 已觸發 test.exe 內的中斷點。 可能是因為堆積損毀,表示 test.exe 內有錯誤或其載入的任何 DLL 內有錯誤。 也有可能是因為 test.exe 取得焦點時使用者按下 F12。 輸出視窗或許有較多的診斷資料。 google到的也都是說free memory之前先檢查是否!NULL ps. 如果電腦沒藍芽裝置的話,該程式也不能跑 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.13.60
文章代碼(AID): #1DBJtOaf (C_and_CPP)
文章代碼(AID): #1DBJtOaf (C_and_CPP)