Получение реального исключения C ++ на x64 - PullRequest
1 голос
/ 03 января 2011

Если я перехватываю какое-либо исключение C ++ и в операторе catch выдает новое исключение break, смогу ли я когда-нибудь сохранить исходное исключение, если после отладки отладить аварийный дамп в WinDbg? Если да, то как?

Я видел использование поиска CONTEXT (0001003f) на x86, но на x64 это недопустимо.

1 Ответ

1 голос
/ 25 января 2011

Это возможно. Вам нужно будет знать, как прочитать сборку x64 и найти указатель на запись исключения. Оттуда см http://blogs.msdn.com/b/oldnewthing/archive/2010/07/30/10044061.aspx

Это позволит вам увидеть объект исключения, но во время выполнения оператора catch разматывание стека уже произошло, поэтому у вас не будет исходного стека.

...