如果我正在捕获某种类型的C ++异常,并且在catch语句中抛出一个新的中断异常,如果在WinDbg中进行事后调试崩溃转储,我是否能够保留原始异常?如果是这样,怎么样?
我已经看到在x86上搜索CONTEXT(0001003f)的用法,但它在x64上无效。
答案 0 :(得分:1)
有可能。您将需要知道如何读取x64程序集并查找异常记录指针。从那里看http://blogs.msdn.com/b/oldnewthing/archive/2010/07/30/10044061.aspx
这将允许您查看异常对象,但是在执行catch语句时,堆栈展开已经发生,因此您将没有原始堆栈。