不知来自何处的一些使用技巧,寄于此处。
dt 显示结构休信息
UnhandledExceptionFilter()第一个参数为异常指针
.cxr显示异常信息
使用 KP = EBP(里面的地址), 来显示当时的调用堆栈
sxe ld Load Module时停下来
ernel32!UnhandledExceptionFilter
这个函数有个输入参数_EXCEPTION_POINTERS,它的定义如下:
typedef struct _EXCEPTION_POINTERS {
PEXCEPTION_RECORD ExceptionRecord;
PCONTEXT ContextRecord;
} EXCEPTION_POINTERS,
*PEXCEPTION_POINTERS;
第2个元素为ContextRecord,找到这个ContextRecord。我们就可以用.cxr命令切到当时出错的时刻。
srv*z:\Program Files\Symbols*http://msdl.microsoft.com/download/symbols
//
找被破坏的堆栈:
dd esp+m esp+n:显示这一段的堆栈
kp =地址:显示地址处的堆栈。