Źródło obrazu: Dangubic/iStock/Getty Images
Każdy użytkownik komputera zna to sfrustrowane, zapadające się uczucie, które pojawia się, gdy dochodzi do awarii systemu. Awarie systemu zdarzają się bez ostrzeżenia i powodują spadek produktywności, zirytowanie użytkowników, a czasem utratę pracy.
„Dump” to zapis stanu komputera w momencie awarii. Pliki zrzutu są automatycznie generowane przez system Windows po wystąpieniu awarii. Są używane przez programistów i zaawansowanych użytkowników, aby pomóc ustalić, co spowodowało awarię. DMP to rozszerzenie pliku używane przez system Windows dla plików zrzutu.
Wideo dnia
Format danych pliku DMP
Istnieją trzy typy zrzutów pamięci, które mogą być generowane przez system Windows. Pierwszy i największy to kompletny zrzut pamięci. Po utworzeniu tego typu zrzutu całkowita zawartość pamięci jest zapisywana w pliku DMP.
Drugim, a szczególnie mniejszym typem zrzutu jest zrzut pamięci jądra. Jak sama nazwa wskazuje, zrzut pamięci jądra rejestruje tylko pamięć jądra. Nieprzydzielona pamięć i jakakolwiek pamięć przydzielona programom w trybie użytkownika jest ignorowana. Dzięki temu analiza pliku zrzutu jest łatwiejsza i mniej czasochłonna niż w przypadku pełnego zrzutu pamięci.
Trzeci i najbardziej kompaktowy typ zrzutu, zwany małym zrzutem pamięci, generuje plik DMP o rozmiarze zaledwie 64 kilobajtów. Zawiera tylko następujące informacje: komunikat Stop i jego parametry, listę załadowanych sterowników, kontekst procesora (PRCB) dla zatrzymanego procesora, informacje o procesie i dane kontekstu jądra (EPROCESS), dane procesu i kontekst jądra (ETHREAD) dla zatrzymanego wątku oraz stos wywołań trybu jądra dla zatrzymanego nitka.
Jak znaleźć plik DMP
Domyślnie pełne zrzuty pamięci i zrzuty pamięci jądra są zapisywane w %SystemRoot%\Memory.dmp. System Windows zapisuje tylko jeden z tych plików zrzutu na raz. Gdy wystąpi nowa awaria, istniejący plik DMP zostanie nadpisany.
Pliki DMP generowane przez mały zrzut pamięci są jednak zapisywane w katalogu %SystemRoot%\Minidump. W przeciwieństwie do innych typów zrzutów, istniejące pliki małego zrzutu pamięci nie są zastępowane podczas generowania nowych.
System Windows automatycznie dołącza datę do nazwy pliku małego zrzutu pamięci plików DMP. Na przykład plik DMP o nazwie „mini043014-01.dmp” został utworzony 30 kwietnia 2014 r. Znak „-01” następujący po dacie w nazwie pliku wskazuje, że był to pierwszy plik DMP utworzony tego dnia.
Otwieranie i przeglądanie pliku DMP
Istnieją dwie główne aplikacje używane do otwierania i przeglądania plików DMP: Narzędzia debugowania systemu Windows i Narzędzie sprawdzania zrzutu, zwane również Dumpchk. Narzędzia debugowania systemu Windows to najlepsza opcja do badania pełnych zrzutów pamięci i zrzutów pamięci jądra, podczas gdy Dumpchk jest idealny do przeglądania małych zrzutów pamięci. Obie aplikacje można pobrać bezpłatnie ze strony Microsoftu. Ponieważ dokładne adresy URL mogą się zmieniać w czasie, najlepiej jest wyszukiwać programy według nazwy na http://www.microsoft.com a następnie pobierz z wynikowych linków.
Aby zbadać plik DMP za pomocą narzędzi do debugowania systemu Windows, otwórz wiersz polecenia i przejdź do folderu, w którym zainstalowano narzędzia do debugowania systemu Windows. Następnie wprowadź jedno z następujących poleceń, aby otworzyć plik:
windbg -y SymbolPath -i ImagePath -z DumpFilePath
kd -y ŚcieżkaSymbolu -i Ścieżka do obrazu -z Ścieżka do pliku zrzutu
Pierwsze polecenie otworzy plik DMP w debugerze GUI systemu Windows, a drugie polecenie otworzy go w interfejsie tekstowym. Parametr SymbolPath odnosi się do lokalizacji symboli debugowania na dysku twardym. Parametr ImagePath odnosi się do lokalizacji plików graficznych. Wreszcie parametr DumpFilePath to lokalizacja pliku DMP.
Aby otworzyć plik DMP w Dumpchk, po prostu wpisz następujące polecenie w wierszu polecenia:
dumpchk DumpFilePath
Analiza zawartości pliku DMP
Narzędzia do debugowania systemu Windows oferują szereg przydatnych poleceń do analizowania plików DMP. Polecenie !analyze -show wyświetla kod błędu zatrzymania i jego parametry. Jest to przydatne do ustalenia, co dokładnie doprowadziło do awarii. Polecenie !analyze -v wyświetla te same informacje, co szczegółowe dane wyjściowe. Polecenie lm N T wyświetla listę załadowanych modułów w momencie awarii.
W porównaniu do narzędzi do debugowania systemu Windows, Dumpchk jest dość prostym narzędziem. Służy przede wszystkim do weryfikacji integralności plików zrzutów i ich przeglądania. Aby przetestować plik zrzutu pod kątem błędów, możesz użyć rozszerzenia wiersza poleceń -e. Na przykład w wierszu poleceń należy wpisać:
dumpchk -e DumpFilePath
Inne opcje Dumpchk to -v, które włącza tryb szczegółowy, -p, które wyświetla tylko nagłówek DMP, oraz -c, które wykonuje szybkie sprawdzanie poprawności zrzutu.