windbg调试-----基本调试方法

雨燕双飞 提交于 2019-11-30 10:19:09
 
基本语法:
User-Mode
!analyze [-v] [-| -hang] [-D BucketID] 
!analyze -c [ -load KnownIssuesFile | -unload | -help ]
-v 显示详细信息
-hang        
-show BugCheckCode  显示bugcheckid的相关信息
 
Kernel-Mode
!analyze [-v] [-| -hang]  [-D BucketID] 
!analyze -c [ -load KnownIssuesFile | -unload | -help ]
!analyze -show BugCheckCode [BugParameters] 
 
用法和显示信息的解释:
第一部分:FAULTING_IP:
显示的是出错时候的指令:
例如:
FAULTING_IP: 
MSVCR80D
!strcat+93 [F:RTMvctoolscrt_bldSELF_X86crtsrcintelstrcat.asm @ 182]
102aecf3 8b01            mov     eax,dword ptr [ecx]

  第二部分:EXCEPTION_RECORD

显示的是代码崩溃的异常信息,可以用 .exr -1 显示
例如:
EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 102aecf3 (MSVCR80D
!strcat+0x00000093)
   ExceptionCode: c0000005 (Access violation)
   ExceptionFlags: 
00000000
NumberParameters: 
2
   Parameter[
0]: 00000000
   Parameter[
1]: 00000000
Attempt to read from address 
00000000

  

第三部分:异常的模块和基本异常信息
FAULTING_THREAD:  0000016c  
DEFAULT_BUCKET_ID:  NULL_POINTER_READ  异常类型
PROCESS_NAME:  dbgtest.exe                    异常模块
ERROR_CODE: (NTSTATUS) 
0xc0000005 - "0x%08lx" 异常错误码
READ_ADDRESS:  
00000000                      
NTGLOBALFLAG:  
0
APPLICATION_VERIFIER_FLAGS:  
0

 

第四部分:异常时候的堆栈信息
LAST_CONTROL_TRANSFER:

例如 

第五部分:
windbg分析最有可能出问题的模块信息:
FOLLOWUP_IP: 
MSVCR80D
!strcat+93 [F:RTMvctoolscrt_bldSELF_X86crtsrcintelstrcat.asm @ 182]
102aecf3 8b01            mov     eax,dword ptr [ecx]

FAULTING_SOURCE_CODE:  
No source found 
for 'F:RTMvctoolscrt_bldSELF_X86crtsrcintelstrcat.asm'


SYMBOL_STACK_INDEX:  
0

SYMBOL_NAME:  MSVCR80D
!strcat+93

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: MSVCR80D

IMAGE_NAME:  MSVCR80D.dll

DEBUG_FLR_IMAGE_TIMESTAMP:  4333a44e

STACK_COMMAND:  
~0s ; kb

FAILURE_BUCKET_ID:  MSVCR80D.dll
!strcat_c0000005_NULL_POINTER_READ

BUCKET_ID:  APPLICATION_FAULT_NULL_POINTER_READ_MSVCR80D
!strcat+93

Followup: MachineOwner

未完待续

LAST_CONTROL_TRANSFER:  from 004135cd to 102aecf3

STACK_TEXT:  
0012fd74 004135cd 0012fe54 
00000000 00000000 MSVCR80D!strcat+0x93
0012ff68 004119b6 
00000001 003a2e50 003a2ec8 dbgtest!wmain+0x6d
0012ffb8 004117fd 0012fff0 7c816fd7 
00000000 dbgtest!__tmainCRTStartup+0x1a6 
0012ffc0 7c816fd7 
00000000 00000000 7ffde000 dbgtest!wmainCRTStartup+0xd 
WARNING: Stack unwind information not available. Following frames may be wrong.
0012fff0 
00000000 0041107d 00000000 78746341 kernel32!RegisterWaitForInputIdle+0x49
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!