作者:朱金灿
来源:http://blog.youkuaiyun.com/clever101/
同事问我一个奇怪的问题:程序在他的机子上运行的好好的,但是其它人下载了源码之后可以编译通过,但是debug模式下调试运行到应用程序类中的InitInstance函数中的
if (!ProcessShellCommand(cmdInfo))一句时,总是出现一个
Debug Assertion Failed.
File: afxhtml.inl
Line:57
我认为首先需要判断哪个模块导致了这个Debug Assertion Failed。于是我查看调用堆栈,发现最后加载的是一个mfc042d.dll。同事的输出文件夹下有一个mfc042d.dll。但是我想既然是VC 6.0开发的,加载的应该是mfc42d.dll,而不是mfc042d.dll。我初步判断这是加载了错误的DLL库,于是试着删除了输出文件夹下的mfc042d.dll。果然程序没有出现Debug Assertion Failed,能够顺利运行了。
一位开发者遇到在不同机器上编译通过但运行时出现DebugAssertionFailed的问题,通过排查发现是加载了错误的DLL库。最终删除错误DLL后,程序能够正常运行。
2956

被折叠的 条评论
为什么被折叠?



