2012年12月18日

windbg调试命令5(ln、伪寄存器)

摘要: 1.lnln 命令显示给定地址处的或者最近的符号。ln表示list near,ln命令将尽可能地给出与特定地址相关的符号,如果没有符号能够精确地与这个地址匹配,那么调试器将通过指针算法对靠近这地址的符号进行运逄,并返回运算结果符号0:000> ln 01012475(01012475) calc!WinMainCRTStartup | (0101263c) calc!__CxxFrameHandlerExact matches: calc!WinMainCRTStartup = <no type information>0:000> ln 01012475+1(0101 阅读全文

posted @ 2012-12-18 17:25 紫 陌 阅读(2466) 评论(0) 推荐(0) 编辑

windbg调试命令4(用户层.dump)

摘要: Windbg生成dump文件的方法:程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件。 步骤:1) 打开WinDBG并将之Attach 到crash的程序进程2) 输入产生dump 文件的命令WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。选项(1): /m命令行示例:.dump /m C:\dumps\myapp.dmp注解: 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。 这种文件的信息量较少, 阅读全文

posted @ 2012-12-18 16:18 紫 陌 阅读(3740) 评论(0) 推荐(2) 编辑

windbg调试命令3(sx、ld)

摘要: 1.sxsx* 命令用来控制被调试的程序发生某个异常或特定事件时,调试器要采取的动作sx 命令显示当前进程的异常列表和所有非异常的事件列表,并且显示调试器遇到每个异常和事件时的行为。sxr 命令将所有异常和事件过滤器的状态重设为默认值。命令被清除、中断和继续选项被重设为默认值,等等。sx这个命令的输出信息可以分为三个部分:第一部分是事件处理与相应处理模式的交互,第二部分是标准的异常交互和处理行为,最后一部分是用户自定义的异常交互和处理行为以下面为例,我们先输入sxr再输入sx看下默认的处理行为都是怎么样的:0:000>sxrsxstateresettodefaults0:000>s 阅读全文

posted @ 2012-12-18 11:15 紫 陌 阅读(4299) 评论(0) 推荐(0) 编辑

windbg调试命令2(!gle、g、p)

摘要: !gle 扩展显示当前线程的最后一个错误码。这个太好记了,getlasterror取首字母:0:002>!gleLastErrorValue:(Win32)0(0)-<Unabletogeterrorcodetext>LastStatusValue:(NTSTATUS)0-STATUS_WAIT_00:002> !gleLastErrorValue: (Win32) 0 (0) - <Unable to get error code text>LastStatusValue: (NTSTATUS) 0 - STATUS_WAIT_0-all 显示目标系统中每 阅读全文

posted @ 2012-12-18 10:59 紫 陌 阅读(2142) 评论(0) 推荐(1) 编辑

windbg调试命令1(k、u、x)

摘要: k*命令显示给定线程的调用堆栈,以及其他相关信息~0 k表示打印0号线程的调用堆栈,直接用k表示打印当前线程的调用堆栈kd>~0kChildEBPRetAddr0007fddc77d191bentdll!KiFastSystemCallRet0007fdfc010021b0USER32!NtUserGetMessage+0xc0007ff1c010125e9calc!WinMain+0x25f0007ffc07c817077calc!WinMainCRTStartup+0x1740007fff000000000kernel32!BaseProcessStart+0x230:002> 阅读全文

posted @ 2012-12-18 09:34 紫 陌 阅读(5799) 评论(1) 推荐(0) 编辑

导航