在堆栈展开期间打印堆栈变量

时间:2011-09-05 13:31:02

标签: windows visual-c++ exception exception-handling

在抛出异常后,在堆栈展开期间是否有可能以某种方式访问​​局部变量(和方法参数)?使用StackWalk64获取方法名称是非常简单的,但我想知道我是否可以使用变量以便更好地理解这个问题。

1 个答案:

答案 0 :(得分:0)

即使您在调试器(包括您自己的自制调试器)下运行该进程,也不可能在抛出异常并且到达异常处理程序后获取局部变量。调用堆栈已经解除了。

然而,您可以使用SEH而不是C ++异常处理来获取调用堆栈(并非在所有情况下)。