我正在使用英特尔Inspector检查程序的内存问题,并且我在MSVCR90D.dll模块中遇到“未初始化的内存访问”错误,但是当我点击该错误时,它表示无法显示任何来源。我有什么想法会导致这种情况发生吗?
我怀疑它与我的读/输出功能有关,但我怎么能确定?
答案 0 :(得分:3)
MSVCR90D.dll是Microsoft Visual C ++ 9.0运行时(CRT)的调试版本。以速度和内存使用为代价,调试CRT包含额外的验证(尤其是内存管理),以帮助您诊断程序中的内存问题。
MSVCR90D.dll中的错误检查机制很可能干扰了英特尔检查器中的问题检测机制。或者,这可能是一个被抓住的真正问题。如果在未初始化的内存访问点上有调用堆栈,您可能能够告诉正在访问的未初始化对象。
此外,您应该尝试在Release版本而不是Debug版本上使用Intel Inspector。
答案 1 :(得分:3)
使用Dependency walker为你的dll找到确切的损坏函数