Zine.net online

Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc
w Szukaj

mgrzeg.net - Admin on Rails :)

Triage.ini, czyli o '!analyze -v' dwa słowa

Analizę dumpów bardzo często rozpoczyna się od polecenia !analyze -v, które daje przegląd najważniejszych informacji dotyczących przyczyn padu (procesu, systemu). Na jego wynik można wpływać poprzez zawartość pliku triage.ini (znajdującego się w katalogu triage). W poprzedniej notce spytałem o to, jak można uzyskać:

FOLLOWUP_NAME:  MGRZEG twierdzi, ze to wszystko wina tego, ze nie zjadl dzis porzadnego sniadanka :)

i oczywiście chodziło mi o dodanie do pliku triage.ini linijki (niezawodny w tych kwestiach GT szybko znalazł odpowiedź :):

cmd!WaitProc=MGRZEG twierdzi, ze to wszystko wina tego, ze nie zjadl dzis porzadnego sniadanka :)

Gdybym jednak zamiast tego wpisał

cmd!WaitProc=ignore

to dla badanego zrzutu w wyniku wykonania !analyze -v otrzymam:

0:000> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

GetPageUrlData failed, server returned HTTP status 404
URL requested:
http://watson.microsoft.com/StageOne/cmd_exe/6_1_7601_17514/4ce798e5/unknown/0_0_0_0/bbbbbbb4/80000003/00000000.htm?Retriage=1

FAULTING_IP:
+2bee3a0
00000000`00000000 ??              ???

EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0000000000000000
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 0

FAULTING_THREAD:  00000000000005bc

PROCESS_NAME:  cmd.exe

ERROR_CODE: (NTSTATUS) 0x80000003 - {WYJ

EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - Co najmniej jeden z argument w jest nieprawid owy.

MOD_LIST: <ANALYSIS/>

NTGLOBALFLAG:  0

APPLICATION_VERIFIER_FLAGS:  0

BUGCHECK_STR:  APPLICATION_FAULT_FILL_PATTERN_ffffffff

PRIMARY_PROBLEM_CLASS:  FILL_PATTERN_ffffffff

DEFAULT_BUCKET_ID:  FILL_PATTERN_ffffffff

LAST_CONTROL_TRANSFER:  from 000007fefd9910dc to 000000007745135a

STACK_TEXT: 
00000000`0012eb68 000007fe`fd9910dc : 00000000`00000000 00000000`003f9640 00000000`00000001 00000000`4a90c0a0 : ntdll!ZwWaitForSingleObject+0xa
00000000`0012eb70 00000000`4a8d1515 : 00000000`0000000c 00000000`00000000 00000c00`00000000 00000000`0000000c : KERNELBASE!WaitForSingleObjectEx+0x79
00000000`0012ec10 00000000`4a8d4169 : 00000000`00000000 00000000`ffffffff 00000000`0000000c 00000000`00000001 : cmd!WaitProc+0x1d
00000000`0012ec40 00000000`4a8d1607 : 00000000`00000000 00000000`00000000 00000000`003c2fc0 00000000`00000001 : cmd!ExecPgm+0x585
00000000`0012ef30 00000000`4a8d16aa : 00000000`00000004 00000000`003cde80 00000000`003bfc92 00000000`00000000 : cmd!ECWork+0xb8
00000000`0012f1a0 00000000`4a8d16d0 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`003cde80 : cmd!ExtCom+0x4a
00000000`0012f1d0 00000000`4a8d1a52 : 00000000`00000004 00000000`003cde80 00000000`00000001 00000000`00000000 : cmd!FindFixAndRun+0x10f
00000000`0012f650 00000000`4a8d88e8 : 00000000`00000002 00000000`00000002 00000000`00000003 00000000`00000003 : cmd!Dispatch+0x192
00000000`0012f6e0 00000000`4a8d9962 : 00000000`00000000 00000000`00000000 00000000`4a8f9a20 00000000`00000001 : cmd!main+0x454
00000000`0012f780 00000000`772f652d : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : cmd!LUAGetUserType+0x315
00000000`0012f7c0 00000000`7742c521 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0xd
00000000`0012f7f0 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d


STACK_COMMAND:  ~0s; .ecxr ; kb

FOLLOWUP_IP:
cmd!ExecPgm+585

00000000`4a8d4169 448be8          mov     r13d,eax

SYMBOL_STACK_INDEX:  3

SYMBOL_NAME:  cmd!ExecPgm+585

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: cmd

IMAGE_NAME:  cmd.exe

DEBUG_FLR_IMAGE_TIMESTAMP:  4ce798e5

FAILURE_BUCKET_ID:  FILL_PATTERN_ffffffff_80000003_cmd.exe!ExecPgm

BUCKET_ID:  X64_APPLICATION_FAULT_FILL_PATTERN_ffffffff_cmd!ExecPgm+585

WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/cmd_exe/6_1_7601_17514/4ce798e5/unknown/0_0_0_0/bbbbbbb4/80000003/00000000.htm?Retriage=1

Followup: MachineOwner
---------

Jak widać, tym razem mamy inny Followup, dodatkowo zaznaczyłem na zielono kolejnego na liście 'winowajcę', czyli kolejną pozycję ze stosu wywołań.

Microsoft w przypadku analizy zrzutów wskazuje jako najbardziej prawdopodobnego sprawcę obcy moduł (w sensie 'trzeciej firmy'), ale oczywiście możemy tym sterować poprzez odpowiednie wpisy w triage.ini.

I już na koniec - jako proste ćwiczenie proponuję sprawdzić co się stanie, gdy do pliku triage.ini dodamy linijkę

cmd!*=ignore

Opublikowane 28 maja 2012 14:17 przez mgrzeg
Filed under: ,

Powiadamianie o komentarzach

Jeżeli chciałbyś otrzymywać email gdy ta wypowiedź zostanie zaktualizowana, to zarejestruj się tutaj

Subskrybuj komentarze za pomocą RSS

Komentarze:

Brak komentarzy

Co o tym myślisz?

(wymagane) 
(opcjonalne)
(wymagane) 

  
Wprowadź kod: (wymagane)
Wyślij

Subskrypcje

W oparciu o Community Server (Personal Edition), Telligent Systems