SRV*c:\temp*http://msdl.microsoft.com/download/symbols SRV*http://msdl.microsoft.com/download/symbols .cordll !ntsdexts.locks= !locks kb (Display Stack Backtrace) command ~ ~4 kb ~6 kb Example: 0:006> !locks -v CritSec ftpsvc2!g_csServiceEntryLock+0 at 6833dd68 LockCount 0 (Ignore) CritSec isatq!AtqActiveContextList+a8 at 68629100 LockCount 2 (possible deadlock) OwningThread a3 critSec +24e750 at 24e750 LockCount 6 OwningThread a9 ~ .... 4 Id: 1364.a3 Suspend: 1 Teb: 7ffdb000 Unfrozen ... 6 Id: 1364.a9 Suspend: 1 Teb: 7ffd9000 Unfrozen 0:006> ~4 kb 4 id: 97.a3 Suspend: 0 Teb 7ffd9000 Unfrozen ChildEBP RetAddr Args to Child 014cfe64 77f6cc7b 00000460 00000000 00000000 ntdll!NtWaitForSingleObject+0xb 014cfed8 77f67456 0024e750 6833adb8 0024e750 ntdll!RtlpWaitForCriticalSection+0xaa (1st under Args to Child to wait for 6=a9) 0:006> ~6 kb ChildEBP RetAddr Args to Child 0155fe38 77f6cc7b 00000414 00000000 00000000 ntdll!NtWaitForSingleObject+0xb 0155feac 77f67456 68629100 6862142e 68629100 ntdll!RtlpWaitForCriticalSection+0xaa (68629100=2 thread, wait for 2=a3) Dead lock found. https://msdn.microsoft.com/en-us/library/windows/hardware/ff540592(v=vs.85).aspx !threads !clrstack ~e!clrstack !syncblk !dso loadby sos clr ~*e !clrstack ~21s !dso !do [hex] ~*kb !threads https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=What+cause+WPF+GUI+Hang https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=what+cause+GUI+Hang+in+WPF .symbolpath .symbolpath+ c:\temp .symfix vertarget | .hh .chain ( shows psscor4.dll not loaded as extension so .load psscor4.dll) !clrstack ( clr=net 4.0 ) .psscor4.help .peb !runaway ( for devi Monday report) != extesion sos psscor Hang ~2s;k ~*k ~*e!clrstack !syncblk !finalizequeue (Ready for finalizer >>10000 => blocked) k kb kn kp kv ( show arg to child-- deadlock ) !cs ( find cs owner 10a8 => id 0) ~~[10a8]s kv r ( list address on stack, register) !cs @rbx ( dump critical section object rbx=... from register) Exception !dae !pe !u u;!u native , managed !eeversion Memory !address (Free 1G but largest contiquous is 50M => Fragmentation memory problem) !eeheap-gc !eeheap-loader !dda !dumpdomain !dumpheap-stat !clrusage Dump source psudo code !clrstack (=> will show Marble.exe BadFuncion() as point of intersts) !savemodule Marble.exe http://theartofdev.com/windbg-cheat-sheet/ dt RTL_CRITICAL_SECTION critsec 0x7e459 !analyze -v -hang .foreach (ex {!dumpheap -type Exception -short}){.echo "********************************";!pe -nested ${ex} } !dumpheap -type Exception -short .loadby C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos.dll clr .load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos.dll
Tuesday, July 14, 2015
Hang Analysis
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment