半路出家windbg(先搞清楚自己分析出来的参数都是什么意思)

 

符号路径下载:(第一次 .reload 时间比较长)

SRV*C:\Symbols* http://msdl.microsoft.com/download/symbols

// 我改的是D盘

一、先试一下 

加载符号表后,输入!analyze  -v

————————————————————————————————————————

半路出家windbg(先搞清楚自己分析出来的参数都是什么意思)_第1张图片

————————————————————————————————————————————————————————

 

点击红色框中的蓝色的(或者直接看下面的  读 00 00 00 a2  的 时候出错)

 

————————————————————————————————————————————————————————

半路出家windbg(先搞清楚自己分析出来的参数都是什么意思)_第2张图片

————————————————————————————————————————————————————————

 

然后看到一大波参数,懵逼

 

二、各个参数的详解

FAULTING_IP : 错误的IP(IP就是EIP,即出错的指令地址,指出发生错误时所执行的指令)

EXCEPTION_RECORD:异常记录(很重要的信息,记录崩溃的信息。可以看到异常地址,异常代码以及具体的异常原因“尝试读取地址00000000”。)

ExceptionAdddress: 异常地址; 中断地址

ExceptionCode: 异常码

AccessViolation:非法访问

ExceptionFlag:异常标志(1,表示不可继续的异常  0,表示可继续的异常)

DEFAULT_BUCKET_ID:指出错误的类型(比如NULL_POINTER_READ、DRIVER_FAULT、NULL_CLASS_PTR_DEREFERENCE   )

BUCKET_ID:当前故障属于的特定类型的故障

         读取地址 00 00 00 a2 (第二个参数)的时候出错。

二、STACK_TEXT(从后往前看)

栈文本信息:(STACK_TEXT: //反映了错误前堆栈中函数调用情况,)

最后一列容易理解,是模块+函数,那前面还有5列数字,表示什么呢?

第一列表示函数调用时的EBP,

第二列表示函数的返回地址,

后三列则是函数的参数

STACK_COMMAND:  ~2s; .ecxr ; kb (kb 显示调用前三项栈 .excer 结合当前例外显示例外环境记录(寄存器))

FOLLOWUP_IP: //反汇编了发生错误指令的代码
EstLog!_output_l+98f [f:\dd\vctools\crt_bld\self_x86\crt\src\output.c @ 1643]  /

/搜索了整个电脑,只有在安装VS的时候用,应该是写的戴拿调用所以output.c哪里出错了
0037ddb7 803800          cmp     byte ptr [eax],0]

 

SYMBOL_STACK_INDEX:  0

SYMBOL_NAME:  estlog!_output_l+98f

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: EstLog

IMAGE_NAME:  EstLog.exe

DEBUG_FLR_IMAGE_TIMESTAMP:  5bd9773b

FAILURE_BUCKET_ID:  NULL_CLASS_PTR_DEREFERENCE_c0000005_EstLog.exe!_output_l

BUCKET_ID:  APPLICATION_FAULT_NULL_CLASS_PTR_DEREFERENCE_INVALID_POINTER_READ_estlog!_output_l+98f

你可能感兴趣的:(windbg)