在x64上获得真正的C ++异常

时间:2011-01-03 14:41:57

标签: c++ exception windbg

如果我正在捕获某种类型的C ++异常,并且在catch语句中抛出一个新的中断异常,如果在WinDbg中进行事后调试崩溃转储,我是否能够保留原始异常?如果是这样,怎么样?

我已经看到在x86上搜索CONTEXT(0001003f)的用法,但它在x64上无效。

1 个答案:

答案 0 :(得分:1)

有可能。您将需要知道如何读取x64程序集并查找异常记录指针。从那里看http://blogs.msdn.com/b/oldnewthing/archive/2010/07/30/10044061.aspx

这将允许您查看异常对象,但是在执行catch语句时,堆栈展开已经发生,因此您将没有原始堆栈。