gpt4 book ai didi

visual-studio - 如何查看异常在哪里被捕获?

转载 作者:行者123 更新时间:2023-12-01 05:46:48 29 4
gpt4 key购买 nike

我正在处理的 MFC、C++ 应用程序似乎在设备驱动程序内部深处抛出异常。 (从外观上看,这是一个写入 NULL 指针的访问冲突。崩溃的细节现在不是我感兴趣的,但是......)

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

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

干杯,
詹姆士

最佳答案

使用 WinDbg,您可以使用 !exchain命令。与 !exchain -c ,它将显示您的 C++ 析构函数和 catch 块。例如

Try block 0
Catch block 0, type: module!my_exception `RTTI Type Descriptor'+0 (6071409c)
handler: module!catch_block+582 (6063bcc2)

然后你可以用 bp 6063bcc2 设置断点.

我不知道在 Visual Studio 中有什么方法可以做到这一点。

关于visual-studio - 如何查看异常在哪里被捕获?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1312312/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com