新版WinDbg执行.reboot后断点丢失,旧版无此问题,求解决办法
新版WinDbg网络调试重启后断点保存方案
针对你遇到的新版WinDbg执行.reboot后断点丢失、工作区加载无效的问题,可尝试以下几种解决方法:
1. 手动保存/加载断点文件
- 保存断点:执行命令
bp /w <断点文件名>,将当前所有断点写入指定文件,例如:bp /w my_breakpoints.txt - 目标机重启并重新建立调试会话后,加载断点:执行命令
bp /r <断点文件名>,例如:
注意:内核断点需等目标机符号加载完成后再执行加载命令。bp /r my_breakpoints.txt
2. 用脚本自动配置断点
- 创建一个调试脚本文件(如
breakpoints_setup.dbg),写入需要设置的断点命令,示例内容:bp nt!NtCreateProcessEx bp win32k!NtUserSetWindowPos - 连接目标机后,手动执行脚本:输入
$<breakpoints_setup.dbg - 也可设置WinDbg启动时自动运行脚本,启动命令添加参数:
windbg.exe -k net:port=50000,key=1.2.3.4 -c "$<breakpoints_setup.dbg"
3. 修正工作区保存方式
- 保存工作区时,务必勾选「Breakpoints」选项:打开
File > Save Workspace,在对话框中确认断点相关选项已被选中 - 重启调试会话后,需等待目标机完全进入调试状态(如内核初始化完成、符号加载完毕),再执行
File > Load Workspace加载工作区
额外建议
- 新版WinDbg(WinDbg Preview)的工作区状态管理和旧版不同,网络调试重启后会话完全重建,部分状态无法通过工作区直接恢复
- 若场景允许,可使用硬件断点命令
ba设置断点,硬件断点不受软件重启影响,但数量有限(x86/x64平台最多4个)
内容的提问来源于stack exchange,提问作者TechStrummer
相关产品推荐
相关产品推荐

