【问题标题】:How to debug a "debug assertion failure" in VC++ 6如何在 VC++ 6 中调试“调试断言失败”
【发布时间】:2010-10-08 02:28:24
【问题描述】:

不知道如何调试以下错误:

Debug Assertion failure

Program: tomtoprog.exe
File: dbgheap.c
Line: 1044

Expression:_CrtIsValidHeapPointer(pUserData)
...

我对使用 VC++ 6 进行 Windows 开发很陌生……有 valgrind 或类似的东西吗? tomtoprog 代码不是我写的,而且相当混乱......所以像 valgrind 这样的东西会让我的生活更轻松......

提前致谢!

最好的问候,

正补

【问题讨论】:

    标签: debugging visual-c++ visual-c++-6 assertions


    【解决方案1】:

    点击“重试”,它会进入调试器。这会给你调用堆栈。从那里,您可以找到有问题的代码部分。

    提示:你可能删除/释放了两次。

    【讨论】:

      【解决方案2】:

      看起来你要么有堆损坏,要么你正在做一个双重释放相同的指针。如果您闯入调试器,断言发生时调用的代码的最后一行是什么?

      检查此类问题的最佳方法是使用页面堆验证器,例如 PageHeap.exe

      另请参阅有关堆栈溢出的相关问题

      Heap corruption under Win32; how to locate?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-27
        • 1970-01-01
        相关资源
        最近更新 更多