Moja zarządzana aplikacja .net korzysta z bibliotek stron trzecich, które wykorzystują (przez PInvoke) niezarządzane biblioteki dll. Chciałbym dowiedzieć się, które biblioteki dll są ładowane. Próbowałem użyć "Process Explorer" i "Dependency Walker", ale widzę tylko zarządzane biblioteki DLL.Jak znaleźć listę wszystkich niezadokumentowanych plików DLL ładowanych przez moją zarządzaną aplikację .net
Odpowiedz
Wszelkie debugger może to zrobić (windbg
na przykład) - ale ponieważ to jest duża szansa, jesteś pakowania Visual Studio Porozmawiam o tym, jak to zrobić w które
Attach Visual Studio debugera aplikacja, pamiętając, aby wybrać tylko Native debugger następująco:
gdy jesteś załączyć, hit Debug -> przerwa, a następnie naciśnij [CTRL] + [ALT] + [U]
aby przywołać okno Modules (jest w menu gdzieś ale mogę „T go znaleźć) - oto przykład strzela z aplikacji Samsung Kies moim pulpicie (który używa WPF):
W moim przypadku umożliwiło Zarządzane debugger też, i przeniósł nazwę procesu do początek listy kolumn dla celów tego zrzutu ekranu.
Jeśli nazwa procesu ma po nazwie : Native
, oznacza to niezarządzaną bibliotekę DLL (cóż, może to być również tryb mieszany).
Zauważ, że wszystkie procesy w Windows będzie zawsze mieć dobrą długą listę niezarządzanych DLL załadowane; ponieważ system Windows jest niezarządzany w swoim sercu i jest najlepszym hostem aplikacji.
Ale na pewno możesz użyć tej listy jako punktu wyjścia i odfiltrować stamtąd.
Dzięki, to było dokładnie to, czego potrzebowałem. – Gerhard
dzięki Andras! to było przydatne .... – VVV