内存断点
ba [rw]4 address
bp 命令是在某个地址下断点 例:bu MyApp!SomeFunction
bm 命令也是针对符号下断点。 但是它支持匹配表达式 bm MyApp!MyClass::* ;bm user32!CreateWindow*bc 清除断点
bl 断点列表
bu dllname!funcname
bu dllname!classname::funcname
.childdbg 调试子进程时,新的windbg实例也显示在当前windbg实例中
.dump /ma|/m filepath 生成dump文件
windbg -I 让windbg自己设置为默认调试器
ld modulename 加载模块符号
!lmi modulename 显示模块信息
检查符号表加载详细情况
!sym noisy
当Windbg加载Symbol文件的时候,显示Symbol的路径,默认情况下是不显示的。
YMSRV: 无法与服务器建立连接
SYMSRV: c:\windows\symbols\truecrypt.pdb\1B9489BAE47D4E4889EBD0CB60055F221\truecrypt.pdb not found
!sym quiet 不显示路径
SYMSRV: truecrypt.pdb not found
加载某个DLL 的时候下断点的WinDBG 命令:
sxe ld:[dll name]
卸载某个DLL 的时候下断点的WinDBG命令:
sxe ud:[dll name]
比如:
sxe ld:wininet (在wininet.dll 被装载的时候断点)
还可以通过直接在DllMain下断点来达到相同目的:
bu wininet!DllMain
查看所有函数的参数:
dd ESP+4 即分别为各个参数地址