Freigeben über


Memory dump w Windows 7

Blue Screen jest dla mnie jednym z najciekawszych trybów pracy systemu. Wiem, ze wielu uzytkowników nie podziela mojego zdania, ale pod tym niebieskim ekranem dzieja sie naprawde interesujace rzeczy.

Jedna z nich jest tworzenie zrzutu pamieci. To nie jest takie proste jak sie moze wydawac, ale z punktu uzytkownika widac przede wszystkim interfejs. A w nim (w oknie Startup and Recovery) jest wybór zawartosci dumpa. Tradycyjnie, opcje sa cztery:

I mimo, ze w nowszych systemach w szczególach cos sie zmienia, to ogólna idea pozostaje taka sama "od zawsze". W Windows 7 pojawia sie jednak drobny problem:

image

Nie ma opcji zrzutu calej pamieci. Moze i slusznie...? Nie wiem. Wiem za to, ze jezeli ktos bardzo chce – moze ja sobie wlaczyc przez rejestr. W galezi HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl jest wartosc CrashDumpEnabled. Tam zapisany jest tryb zrzutu, gdzie:

  • 0 oznacza brak zrzutu,
  • 1 – zrzut pelny,
  • 2 – zrzut jadra,
  • 3 – small dump.

Wystarczy wpisac tam 1 i nie dosc, ze beda sie wykonywac pelne zrzuty, to jeszcze brakujaca opcja pojawi sie w GUI. Tak swoja droga, na komputerach z iloscia pamieci RAM mniejsza niz 2GB opcja ta jest normalnie widoczna. Ot takie ustawienie, zeby "grzebacz" nie wlaczyl sobie mechanizmu wrzucajacego mu na dysk ogromne pliki. Nie wiem, czy lubie jak ktos do tego stopnia mysli za mnie, ale znajac trik z rejestrem, nie mam w tym przypadku wielkiego problemu.

Tak swoja droga, dla niemyslacych, Microsoft przygotowal jeszcze jedna niespodzianke. Jezeli Windows 7 nie jest w domenie i ma mniej niz 25GB wolnego miejsca na dysku – zrzut sie nie wykona. Oczywiscie mozna to sobie w rejestrze wlaczyc (AlwaysKeepMemoryDump=1). Troche wiecej informacji na ten temat mozna znalezc na https://blogs.msdn.com/wer/archive/2009/02/09/kernel-dump-storage-and-clean-up-behavior-in-windows-7.aspx

Autor: Grzegorz Tworek [MVP]

Comments

  • Anonymous
    January 01, 2003
    no to jeszcze jedna przykra niespodzianka - jak nei ma pliku stronicowania na dysku C to dump też się nie wykona... A przynajmniej nie pozwoli się włączyć.

  • Anonymous
    January 01, 2003
    Tak, wystarczy. Nawet mniejsze dumpy czy dumpy procesów już dają dostęp do naprawdę ciekawych informacji.

  • Anonymous
    January 01, 2003
    Ano nie wykona się. Dump wykonuje się do pliku stronicowania na C a przy najbliższym restarcie jest przepisywany. Ma to swój sens, ale faktycznie może w niektórych (dość egzotycznych) scenariuszach sprawiać problem.

  • Anonymous
    January 20, 2010
    Wystarczy wpisać tam 1 i nie dość, że będą się wykonywać pełne zrzuty, to jeszcze brakująca opcja pojawi się w GUI.

  • Anonymous
    April 16, 2014
    czyli jednym słowem wystarczy, że atakujący poprzez exploit wysypie system wywołując ustawionego przez użytkownika dumpa pełnej pamięci i jeśli wejdzie w jego posiadanie ma dostęp do dosyć istotnych danych. Fajnie :)