windbg
erikaIT
这个作者很懒,什么都没留下…
展开
-
windbg的命令类型
1、内置命令,直接命令打头,如lm2、元命令,'.'打头,如.reload3、扩展命令,‘!’打头,如!dh内置命令和元命令是调用可执行文件,command窗口回显执行结果扩展命令是外部dll,可以隐式或动态加载库,然后执行相应导出函数,回显结果原创 2016-02-03 14:22:22 · 543 阅读 · 0 评论 -
windbg的dump命令
在xp环境下,任务管理器无法对当前进程进行转储,这个时候用windbg的dump命令,能解决问题。.dump /ma D:\\test.dmp,输出带有完备信息的minidump.dump /m D:\\test.dmp,输出标准的minidump翻译 2017-03-23 18:45:38 · 721 阅读 · 0 评论 -
windbg的!runaway命令
该命令可以用来查看每个线程的cpu占用时间,可以用来跟进一些进程cpu占用高的问题翻译 2017-03-23 16:09:06 · 1224 阅读 · 0 评论 -
windbg的k命令
1、~*kv,显示所有线程的堆栈信息2、~1kv,显示1号线程的堆栈信息翻译 2017-03-10 17:56:52 · 1698 阅读 · 0 评论 -
windbg的伪寄存器命令
1、$ip,当前指令指针。2、$ra,当前函数的返回地址。3、$tid,当前线程tid。结合r指令使用,可以查看对应伪寄存器的数据。用法:r$ip结合ln指令使用,可以查看对应伪寄存器数据地址对应的具体符号信息。用法:ln$ip翻译 2017-03-10 18:00:21 · 719 阅读 · 0 评论 -
windbg的chksym命令
!chksym modulename,用于检测加载的符号文件是否正确。eg:!chksym ntdll翻译 2017-03-10 17:10:37 · 736 阅读 · 0 评论 -
windbg的symfix命令
windbg的符号文件:1、.sympath path,path为符号所在路径,可以是url、unc、ftp之类的。该命令会覆盖之前的符号路径。2、.sympath+ path,在原符号基础上添加新的路径。符号服务器的路径写法:SRV*cache path*server path;例如:SRV*C:\\myserversymbols*http://msdl.microsof翻译 2017-03-10 11:16:10 · 2222 阅读 · 0 评论 -
windbg的符号文件查找
如果指定模块的pdb文件,但reload还是失败,可以尝试指定模块的image文件,也就是dll或exe,再进行reload原创 2017-03-02 09:07:32 · 451 阅读 · 0 评论 -
windbg的ln和u命令
ln 地址,查看指定地址的符号在你不知道中断处的代码含义时,使用ln查看该地址的符号、或附近的地址符号,有助于让你查找问题所在。u 地址,反汇编当前地址代码如果你熟悉汇编,通过反汇编中断地址附近的代码段,就可以很好的了解出错的问题所在原创 2016-02-03 16:28:06 · 1149 阅读 · 0 评论 -
windbg的version命令
查看当前操作系统版本及相关信息原创 2016-02-03 15:38:02 · 752 阅读 · 0 评论 -
windbg的lastevent命令
.lastevent,显示最近一次中断的原因,例如访问违例异常、进入用户断点等原创 2016-02-03 15:36:58 · 652 阅读 · 0 评论 -
windbg的sympath命令
sympath,指定或查看符号加载路径1、.sympath,查看符号加载路径2、.sympath c:\symbols,修改符号加载路径3、.sympath+ c:\symbols,添加符号加载路径原创 2016-02-03 15:25:43 · 2720 阅读 · 0 评论 -
windbg的x命令
x module!symbols,查找符号命令1、可以用模糊匹配做符号查找,如x moduleName!g_*,可以查找g_打头的全局变量2、x /v /t module!symbols,可以列出符号对象的大小及类型原创 2016-02-03 15:14:41 · 1020 阅读 · 0 评论 -
windbg的reload命令
.reload,重新加载模块的符号1、.reload,重新加载所有模块符号,但不会立即加载,任何解析符号的动作都会导致重新加载2、.reload moduleName,重新加载指定模块符号3、.reload -f,立即重新加载所有模块的符号文件4、.reload -f moduleName,立即重新加载指定模块的符号文件原创 2016-02-03 14:54:07 · 2937 阅读 · 0 评论 -
windbg的lm命令
lm,查看模块及模块的符号加载情况:1、lm l,查看已加载符号的模块2、lm m somemodulename*,查看和指定名称匹配的模块3、lm v,查看所有模块及一些详细信息4、!lmi moduleName,查看指定模块详细信息5、!dh module Start Address | module Name -f,进一步查看模块头部信息,包括pdb信息,默认分配堆栈大小原创 2016-02-03 14:31:20 · 2413 阅读 · 0 评论 -
windbg堆栈破坏之寄存器分析
ebp:作为函数调用的基址地址,指向函数在栈的起始位置esp:指向当前执行函数的栈顶指针eip:指向下一个将要执行的cpu指令在内存中的位置如果怀疑一个dump为堆栈溢出,可以通过观察这几个指针所指向的内存值,判断是否为堆栈溢出。指令:r ebp,查看寄存器的指针地址指令:dd ebp,查看ebp指针指向及附近的内存数据指令:dd 上一步的首个内存地址,如果为??内容,则说明ebp指向的内存已经被...原创 2018-06-01 20:43:55 · 1354 阅读 · 0 评论