2012-12-21 22 views
8

Mam debugowanie problemu z aplikacją trybu mieszanego (zarządzanego i niezarządzanego).Debugowanie trybu mieszanego (C#, C++) application

Rzeczywisty problem znajduje się w kodzie niezarządzanym.

Załadowałem dll SOS do Windebugger. Ale pokazuje mi stos wywoływania tylko do trybu zarządzanego, ponieważ załadowałem dll SOS. Jak mogę zobaczyć stos wywołań niezarządzanego kodu?

Odpowiedz

4

Komenda SOS !dumpstack wygeneruje kompletny ślad stosu z kodem zarządzanym i niezarządzanym. Ponieważ jest to problem w kodzie niezarządzanym, przydatne mogą być również zwykłe komendy śledzenia stosu debuggera (k i warianty).

2

! Sosex.mk da kompletny ślad stosu w sposób łatwy do odczytania.

+0

mówi, że IXCLRDataStackWalk :: Next nie powiodło się. Błąd = 0x80004002 – Rockstart

+0

Czy to pełny zrzut pamięci? Co mówi program! Sos.clrstack? –

+0

Tak, to pełny zrzut pamięci. clrstack pokazuje tylko kod zarządzany do kodu wywoławczego. – Rockstart