CFileDialog打开文件时,在浏览文件过程中经常出现错误,错误的内存空间提示是0x7.....。这个地址空间不是应用程序地址空间。
经过堆栈分析发现是调用:BugslayerUtil.dll找不到该模块导致,检查一下system32目录下是否存在该文件。如果没有,下载一个拷贝到system32下。
拷贝以后运行正常。
进一步察看BugslayerUtil.dll的导出函数,发现有:
DiagAssertA
DiagAssertVB
DiagAssertW
DiagOutputA
DiagOutputVB
DiagOutputW
SetDiagAssertFile
SetDiagAssertOptions
SetDiagOutputFile
猜测可能CFileDialog使用了某个接口导致。