У меня есть некоторый управляемый код, который звонит в метод в некотором собственном DLL (у меня есть соответствующие файлы символов).
Иногда, тот собственный метод выдает исключение, которое я ловлю в своем управляемом коде. Однако, когда я печатаю stacktrace от своей перехваченной исключительной ситуации, я вижу только управляемый код (последний кадр является вызовом к собственному коду.. но это не видит stacktrack в рамках собственного кода).
Как я могу получить собственный стек вызовов также?
*Когда я отлаживаю код, я могу ступить в собственный код и видеть фактический стек вызовов.
Получить трассировку стека родной программы довольно сложно. К моменту прохождения через слой трансляции .NET/native трассировка стека уже потеряна.
Таким образом, вам нужно перехватить его еще в родном коде, а это тоже довольно сложно. Посмотрите на работу Джона Роббинса по правильной трассировке родного стека; последняя общедоступная версия его SUPERASSERT, которую я смог найти, относится к MSJ, Feb 1999.