如何查看哪里捕获了异常?

6 debugging exception visual-studio

我正在开发的 MFC、C++ 应用程序似乎在设备驱动程序深处抛出异常。(从表面上看,这是写入 NULL 指针的访问冲突。但是,我现在对崩溃的细节不感兴趣……)

当异常发生时,我可以通过“异常”对话框让 Visual Studio 调试器中断。我想知道的是异常是在哪里被捕获的。Visual Studio 可以将异常传递给正在调试的程序,但是(据我所知)似乎没有办法单步执行下一条指令,以便我可以从异常处理程序的角度查看调用堆栈。

有谁知道是否可以进入捕获异常的异常处理程序?

干杯,詹姆斯

fbr*_*eto 1

当抛出异常时,调试器中应该有一个可用的调用堆栈 - 通过查看从抛出点到 的每个堆栈帧main,您应该能够找到带有try/catch块包装的第一个帧调用帧中的下一个例程。只要该try/catch块处理抛出的异常类型,它就会落在此处。