一个vc6的程序,移植到vs2005下,经过一番调试,Release 版可以运行了,Debug却总也出现: 冒出的对话框为:Windows 已在 Plan_D.exe 中触发一个断点。 其原因可能是堆被损坏,这也说明 Plan_D.exe 中或它所加载的任何 DLL 中有 bug。 输出窗口可能提供了更
一个vc6的程序,移植到vs2005下,经过一番调试,Release 版可以运行了,Debug却总也出现:
冒出的对话框为:Windows 已在 Plan_D.exe 中触发一个断点。
其原因可能是堆被损坏,这也说明 Plan_D.exe 中或它所加载的任何 DLL 中有 bug。
输出窗口可能提供了更多诊断信息
Plan_D.exe 中的 0x5f42d429 处最可能的异常: 0xC0000005: 读取位置 0x0000000c 时发生
访问冲突Plan_D.exe 中的 0x7d64a79e 处最可能的异常: 0xC0000005: Access violation
Plan_D.exe 中的 0x7d64a79e 处未处理的异常: 0xC0000005: Access violation
这样的错误,找了很久都不明白什么意思。
仔细看了一下调试窗口和输出窗口,发现0x5f42d429 对应的模块应该是MFC42D.dll。mfc42d.dll是MFCDLL共享库文件,用于支持调试版本的MFC程序。有可能是这个文件本身有问题,搜索发现,机器上有两个MFC42D.dll,我正在使用的是2004年的,1M多,另一个是98年的,900k的样子。想到我的工程是从VC6移植过来的,可能需要98年的那个。换了之后,OK!
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn