Exception 是否可以在VEH或SEH异常处理程序中转储局部变量值?

Exception 是否可以在VEH或SEH异常处理程序中转储局部变量值?,exception,seh,Exception,Seh,是否可以在VEH或SEH异常处理程序中转储局部变量值? 在异常上下文中,我们可以得到寄存器SS、SP、BP。。。我可以通过这些寄存器获得本地值吗?怎么做 如果我们在异常处理程序中返回EXCEPTION\u CONTINUE\u EXECUTION,则函数将继续执行,当异常处理程序运行时,局部变量仍在内存(堆栈)中?我可以通过异常处理程序中的ReadProcessMemory()检索局部变量吗 更新: 我可以在异常处理程序中获得完全转储并在转储文件中搜索局部变量值吗?我可以知道部分变量值。不太准确

是否可以在VEH或SEH异常处理程序中转储局部变量值? 在异常上下文中,我们可以得到寄存器SS、SP、BP。。。我可以通过这些寄存器获得本地值吗?怎么做

如果我们在异常处理程序中返回EXCEPTION\u CONTINUE\u EXECUTION,则函数将继续执行,当异常处理程序运行时,局部变量仍在内存(堆栈)中?我可以通过异常处理程序中的ReadProcessMemory()检索局部变量吗

更新:
我可以在异常处理程序中获得完全转储并在转储文件中搜索局部变量值吗?我可以知道部分变量值。

不太准确。您需要调试信息才能知道局部变量的位置。但这只能在非优化版本中可靠地工作。谢谢Hans。当运行到异常处理程序中时,函数堆栈是否仍然存在(局部变量存储在堆栈中,右)或已被销毁?如果EXCEPTION_CONTINUE_EXECUTION返回并继续执行,程序如何检索局部变量值?我可以像那样检索这些值吗?如果您使用的是VS2013+,我建议使用switch进行编译,它将向PDB文件中添加有关局部变量的更多信息。一旦你在WinDbg中打开dump,你就可以使用
x
命令查看本地数据。谢谢你,ge0rdi,我会试试的。