一個(gè)vc6的程序,移植到vs2005下,經(jīng)過(guò)一番調(diào)試,Release 版可以運(yùn)行了,Debug卻總也出現(xiàn): 冒出的對(duì)話框?yàn)椋篧indows 已在 Plan_D.exe 中觸發(fā)一個(gè)斷點(diǎn)。 其原因可能是堆被損壞,這也說(shuō)明 Plan_D.exe 中或它所加載的任何 DLL 中有 bug。 輸出窗口可能提供了更
一個(gè)vc6的程序,移植到vs2005下,經(jīng)過(guò)一番調(diào)試,Release 版可以運(yùn)行了,Debug卻總也出現(xiàn):
冒出的對(duì)話框?yàn)椋篧indows 已在 Plan_D.exe 中觸發(fā)一個(gè)斷點(diǎn)。
其原因可能是堆被損壞,這也說(shuō)明 Plan_D.exe 中或它所加載的任何 DLL 中有 bug。
輸出窗口可能提供了更多診斷信息
Plan_D.exe 中的 0x5f42d429 處最可能的異常: 0xC0000005: 讀取位置 0x0000000c 時(shí)發(fā)生訪問(wèn)沖突
Plan_D.exe 中的 0x7d64a79e 處最可能的異常: 0xC0000005: Access violation
Plan_D.exe 中的 0x7d64a79e 處未處理的異常: 0xC0000005: Access violation
這樣的錯(cuò)誤,找了很久都不明白什么意思。
仔細(xì)看了一下調(diào)試窗口和輸出窗口,發(fā)現(xiàn)0x5f42d429 對(duì)應(yīng)的模塊應(yīng)該是MFC42D.dll。mfc42d.dll是MFCDLL共享庫(kù)文件,用于支持調(diào)試版本的MFC程序。有可能是這個(gè)文件本身有問(wèn)題,搜索發(fā)現(xiàn),機(jī)器上有兩個(gè)MFC42D.dll,我正在使用的是2004年的,1M多,另一個(gè)是98年的,900k的樣子。想到我的工程是從VC6移植過(guò)來(lái)的,可能需要98年的那個(gè)。換了之后,OK!
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com