windbg常用命令总结
2026/7/23 19:30:00 网站建设 项目流程

备注:
1.windbg启动进程以后,会自动中断在ntdll!LdrpDoDebuggerBreak函数
2.windbg v7.0~10.0版本是在windows sdk中,需要这个版本需要下载windows sdk,然后安装它。(里面还包含gflags.exe,umdh.exe调试工具,安装完路径:C:\Program Files (x86)\Windows Kits\10\Debuggers\x64)
3.windbg preview版本是目前最新版本,需要通过Microsoft Store应用商店安装,因此需要win10最新版或者win11系统支持才行

调试命令:
1.查看调用堆栈:kn/kv/kp

2.切换到发生异常的线程上下文:.ecxr  (有时需要执行这个命令,才能在崩溃线程上看到正常的调用堆栈)
  查看具体异常的代码:.exr -1
  显示信息如下:
  ExceptionAddress:ExceptionAddress: 00007ffd1f951470 (VCRUNTIME140!memcpy+0x180       崩溃发生的位置
  ExceptionCode: c0000005 (Access violation)        这是一个访问冲突(内存违规)
  ExceptionFlags: 00000000    这是第一次机会异常。如果是 1 则是第二次机会异常
  NumberParameters: 2        异常附带参数。对于访问冲突(c0000005),Windows 总是附带 2 个参数(前一个是操作类型,后一个是非法地址)
  Parameter[0]: 0000000000000000         0 代表“读操作”(Read)。如果是写操作,这里会是 1
  Parameter[1]: 000001a6803c0160           这是导致崩溃的具体内存地址。CPU 尝试去读这个地址,但是失败了
  Attempt to read from address 000001a6803c0160   Windbg 帮你翻译好的中文提示:“尝试从地址 000001a6803c0160 读取数据时发生了崩溃”

3.显示所有模块信息及符号加载情况:lm
  查看模块的详细符号信息:lm vm <模块名> 如:lm vm VideoPlayerCore  (这里不能有后缀名)
                                         如:lm vm VideoPlayer*
  检查符号匹配情况:!lmi <模块名>

4.重新加载符号文件:.reload
  强制重新加载(即使已加载):.reload /f
  重新加载特定模块:.reload /f <模块名> 如:.reload /f MyApp.exe (这里必须加上后缀名)
  显示/设置符号路径:.sympath
  将某个符号路径加载到已有的符号路径后面:.sympath+ <new path>
  设置缓存符号文件路径和微软服务器符号文件路径:.sympath SRV*C:\symbols*https://msdl.microsoft.com/download/symbols
  启用符号加载的详细日志:!sym noisy

5

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询