1

我正在使用 Intel Inspector 检查程序的内存问题,并且在 MSVCR90D.dll 模块中不断遇到“未初始化的内存访问”错误,但是当我单击该错误时,它表示无法显示源。任何想法我做错了什么导致这种情况发生?

我怀疑它与我的读入/输出功能有关,但我怎么能确定呢?

4

2 回答 2

3

使用 Dependancy walker 为您的 dll 找到确切的损坏函数

于 2012-10-31T00:31:34.587 回答
3

MSVCR90D.dll是 Microsoft Visual C++ 9.0 运行时 (CRT) 的调试版本。以牺牲速度和内存使用为代价,调试 CRT 包含额外的验证(尤其是围绕内存管理),以帮助您诊断程序中的内存问题。

MSVCR90D.dll 中的错误检查机制很可能会干扰 Intel Inspector 中的问题检测机制。或者,这可能是一个被抓住的真正问题。如果您在未初始化的内存访问点有调用堆栈,您可能能够判断正在访问的未初始化对象。

此外,您应该尝试使用 Intel Inspector on Release 构建而不是 Debug 构建。

于 2011-03-24T21:32:47.200 回答