WinDbg调试常用命令
列出已加载的模块:lm
设置符号路径:.sympath+ C:\Visual_Studio_2019\OEMDriver_oemui_1.0
启用和关闭详细符号加载信息:!sym noisy和!sym quiet
告知 WinDbg 执行初始搜索以查找和加载符号文件:.reload /f OEMUI.dll=7fff4e070000,2c000
检查结果:lmvm OEMUI
查看导出表:!dh OEMUI -e
查看所有导出函数:x OEMUI!*
搜索标准导出函数:x OEMUI!*DllMain*
检查资源分配和释放:x OEMUI!*Alloc*和x OEMUI!*Free*
查看函数源码 (如果 PDB 包含源码信息):.lines
设置源码断点:
bp `devmode.cpp:28`
函数断点设置:bp OEMUI!DllMain
临时断点 (只命中一次):bp /1 OEMUI!DllMain
查看局部变量:dv /t /v
查看调用参数:dv /i /t
启用异常捕获:
sxe -c "kb; .echo *** EXCEPTION CAUGHT ***; dv /t /v" av
设置打印驱动专用事件:
!gflag +soe # 启用堆错误报告
开启详细日志:
!dbgprint -c OEMUI* # 捕获驱动日志
调用栈分析:当断点触发时,始终检查:
k 20 # 完整调用栈
lmvm localspl # 检查打印后台处理程序
!teb # 检查线程环境
如果调试速度慢:
.prefer_dml 1 # 启用 DML 链接
.nvld off # 禁用 NV 驱动加载
原始资料地址:
使用 WinDbg 和调试器命令
Windows 调试入门
如有侵权联系删除 仅供学习交流使用