c++ - 从转储中获取调用堆栈的几乎所有帧中的 this 指针 NULL 意味着什么?

标签 c++ this heap-corruption

我有一个情况,我们的一位客户看到产品 (Windows) 崩溃。我有他们的转储,我已经分析了那些核心。崩溃似乎发生在从函数返回字符串之后。该功能对我来说看起来完全没问题,尽管它还有微调的余地。我用Windbg来分析内核。我发现的一件事是,在故障线程的调用堆栈的每一帧中,this 指针都是 NULL,除了第一帧的值是好的。所以,我想知道这是堆损坏的情况还是有其他可能性?

最佳答案

它可能表明调试优化的 Release模式构建不太有效。我不熟悉细节,但至少有一种优化模式(“/Oy - Frame Pointer Omission”)会影响调试时堆栈的 View 。

关于c++ - 从转储中获取调用堆栈的几乎所有帧中的 this 指针 NULL 意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11116673/

相关文章:

C 程序仅在 Visual Studio 中的 Debug模式下,以编程方式更改 argv 在程序退出后会出现堆损坏错误。如何解决?

javascript - 可以使用 'this' 关键字计算自身属性的对象

c++ - 无效转换导致的堆损坏?

C++ 无符号字符数组长度

c++ - 为什么在C/C++中使用uint_8等?

C++,strftime 转字符串

c++ - VS c++ 和 MinGW 实现 double 类型有什么区别

javascript - 从超链接调用函数时的 this 关键字

c++ - 类能否使用此指针或其他方式将自身指向不同的地址?

C:指针分配错误