windbg 调试手记

bp:打断点

一个按条件断点的例子 bp KERNELBASE!CreateFileW+0x3 "$<d:\\symbols\\script.txt"

script.txt的脚本内容为:

as /mu ${/v:string1} poi(esp+8)
.echo ${string1}
.if( $sicmp( "${string1}", "d:\abc.htm" ) = 0 ) {} .else {gc}

这个脚本的作用是讲第一个参数和“d:\abc.htm"进行对比, 可以显示出路径,但是 if执行出错。不知道为啥。。

bl:查看

bc:清除断点

ba:给地址打断点

lm:查看模块     lm m a* :查看以a开头的模块名 

x user32!*  查看user32的所有符号名

du:显示unicode字符串

da:显示ascii字符串

dd:双字

$<Filename
$><Filename
$$< Filename
$$>< Filename
$$>a< Filename [arg1 arg2 arg3 ... ]

以上命令是运行脚本文件

as :用来定义一个别名

as Name EquivalentLine


~查看所有线程,当前线程前有"."

!threads 的功能更全一些吧

.reload 重新加载符号表

~ ns 切换到第n个线程

原文地址:https://www.cnblogs.com/kwliu/p/2219086.html