Ostatnio w komentarzu do posta o IE8 crash pojawił się komentarz o tym, czy możliwe jest takie skonfigurowanie systemu, aby automatycznie wykonywał się dump procesu, który przedwcześnie zakończył swój żywot w systemie. Oczywiście da się coś takiego osiągnąć i w tym poście pokaże jak.
Gdy proces umiera…
To, co dzieje się w systemie po tym jak aplikacja umiera nie jest na sztywno zaszyte – wręcz przeciwnie bardzo konfigurowalne. Za to, co nam się uruchomi gdy aplikacja przestanie działać odpowiada klucz w rejestrze a dokładniej:
64 bit:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug
32 bit:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
Dzięki takiemu ustawieniu dump procesu zostanie zrzucony do pliku, a dodanie ;q spowoduje, że WinDbg zakończy działanie. Więcej informacji odnośnie Postmortem debugging można znaleźć w Enabling Postomortem Debugging. Jak prezentuje się całość:
Miłego crashowania!
Founder of Octal Solutions a .NET software house.
Passionate dev, blogger, occasionally speaker, one of the leaders of Wroc.NET user group. Microsoft MVP. Podcaster – Ostrapila.pl