奇怪的崩溃与例外

时间:2016-12-08 07:52:59

标签: c++ visual-c++

在VS 2013中调试C ++程序时,在抛出异常后,我在异常处理程序(catch块)中遇到崩溃(技术上是“断点”)。以下是在输出窗口发生之后:

  

Program.exe中0x75E54878处的第一次机会异常:Microsoft C ++异常:内存位置0x00C6EE24处的_com_error。

     

Program.exe中0x75E54878处的第一次机会异常:Microsoft C ++异常:内存位置0x00C6EF04处的ComException。

     

Program.exe中0x75E54878处的第一次机会异常:Microsoft C ++异常:[rethrow]在内存位置0x00000000。

     

HEAP [Program.exe]:HEAP:免费堆块00FAB5A8在00FAB5D4被解除后被修改

     

Program.exe触发了一个断点。

我调整了代码以找到原因,并确保它能够像显示消息框一样简单。类似的东西:

<img src="/img.jpg" />
<img src="/client/img.jpg" />

来自“输出”窗口的消息表明我正在尝试写入已释放/无效的内存,但正如您可以从此代码段中看到的那样情况并非如此 - 我甚至没有在崩溃时使用变量发生的情况。

另一个奇怪的事情是,在崩溃之后,“调用堆栈”窗口显示由于异常而已经解开的帧,就像调用堆栈被“重建​​”一样。

任何想法有什么不对?

0 个答案:

没有答案