Czy da się zajrzeć we wnętrze działającej aplikacji? Zdecydowanie nie jest to trywialne. Można jednak wykorzystać do tego dump pamięci (zrzut pamięci). W niektórych przypadkach umożliwia on diagnostykę stanu aplikacji lub całego systemu...
Bazy danych i XML 2529 dni, 13 godzin, 48 minut temu 38 źrodło rozwiń
W ramach pakietu dystrybucyjnego .NET Framework do systemu trafia biblioteka SOS.DLL, która pozwala analizować kod .NET w WinDbg. Na tym blogu promuję jednak użycie biblioteki psscor4 (i wcześniejszej psscor2) do analizy dumpów (a także debuggowania aktywnych procesów), co wiąże się głównie z tym, że biblioteka ta jest niezależna od konkretnej wersji CLR (a konkretniej biblioteki mscordacwks.dll), w ramach której uruchomiony był proces. Do tego dochodzi fakt, że psscor zawiera wszystkie te rozszerzenia, ...
Na dobrą sprawę notka powinna kończyć się na krótkim stwierdzeniu: do zrzutów procesów należy używać tylko aplikacji o tej samej 'bitowości', co zrzucana aplikacja. Nie byłbym jednak sobą, gdybym nie postanowił przyjrzeć się nieco bliżej problemowi. W systemie 64-bitowym wszystkie procesy są 64-bitowe. Kropka. Aplikacje 32-bitowe uruchomione są w trybie emulacji w ramach WOW64, jednak dla systemu dalej są to procesy 64-bitowe, choć z pewnymi rozszerzeniami związanymi z architekturą - a więc dodatkowymi ...
autor: Postanowiłem napisać kilka postów, które odkrywają “nieznane” funkcje Visual Studio. Dziś jeden z nich. Czasem widzę, że największą furorę robią posty opisujące rzeczy (dla mnie) oczywiste. Okazuje się, jednak, że to co jest znane mnie, niekoniecznie jest wiedzą dość dobrze rozpowszechnioną. Zaczynamy zatem.Analiza dumpów Jeszcze do wersji 2008 ta funkcjonalność zarezerwowana była tylko dla świetnego narzędzia jakimi jest WinDbg. Jednakże od wersji 2010 VisualStudio potrafi odczytać i przeanalizo...
W komentarzach do poprzedniego wpisu Sławek dopominał się o 'ciąg dalszy', więc może jako uzupełnienie dodam garść informacji odnośnie dostępności modułów w zrzutach pamięci analizowanego procesu. Weźmy zatem aplikację testową z poprzedniego tekstu i przygotujmy zrzuty pamięci dla działającego procesu, a potem sprawdźmy co też możemy z nich wyłuskać odnośnie załadowanych modułów. 1. WinDbg W WinDbg mamy polecenie .dump z wieloma parametrami określającymi zestaw informacji do zapisania w pliku zrzutu. Dla...