谢谢张老师,我试了一下:
0:000> .ecxr eax=7ffdf000 ebx=00000001 ecx=00000002 edx=00000003 esi=00000004 edi=00000005 eip=7c92120e esp=0100ffcc ebp=0100fff4 iopl=0 nv up ei pl zr na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000246 ntdll!DbgBreakPoint: 7c92120e cc int 3 0:000> kp *** Stack trace for last set context - .thread/.cxr resets it ChildEBP RetAddr 0100ffc8 7c970010 ntdll!DbgBreakPoint 0100fff4 00000000 ntdll!DbgUiRemoteBreakin+0x2d
我自己又看了看,上网找了找资料,如下流程:
0:000> !teb TEB at 7ffde000 ExceptionList: 0012e794 StackBase: 00130000 StackLimit: 00128000 SubSystemTib: 00000000 FiberData: 00001e00 ArbitraryUserPointer: 00000000 Self: 7ffde000 EnvironmentPointer: 00000000 ClientId: 00001324 . 00001034 RpcHandle: 00000000 Tls Storage: 00143008 PEB Address: 7ffdf000 LastErrorValue: 2 LastStatusValue: c0000034 Count Owned Locks: 0 HardErrorMode: 0 0:000> dps 00128000 00130000
...
00129208 7c92e46a ntdll!KiUserExceptionDispatcher+0xe
...
0:000> .cxr 00129238 eax=00129508 ebx=03463980 ecx=00000000 edx=00000000 esi=00129584 edi=0012eac4 eip=7c812aeb esp=00129504 ebp=00129558 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 kernel32!RaiseException+0x53: 7c812aeb 5e pop esi 0:000> kp *** Stack trace for last set context - .thread/.cxr resets it ChildEBP RetAddr 00129558 0012956c kernel32!RaiseException+0x53 WARNING: Frame IP not in any known module. Following frames may be wrong. 0012956c 0012eac4 <Unloaded_L>+0x1f2de 00129570 0012ea80 <Unloaded_L>+0x24836 0012eac4 80000000 <Unloaded_L>+0x247f2 00000000 00000000 0x80000000
通过上面的代码,基本找出出错时的信息了,不知道这样看对不对
|