You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下如何让程序启动时等待调试器(含子进程调试场景)

Windows下让程序启动后等待调试器的方案(无需修改程序)

针对程序A启动程序B、需在B启动后执行前附加调试器的场景,以下是几种无需修改程序的实现方法:

1. 注册表调试器挂钩(Windows原生机制)

通过系统注册表项强制为指定程序绑定调试器,启动时自动暂停等待:

  • 以管理员身份打开命令提示符,执行命令:
    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\B.exe" /v Debugger /t REG_SZ /d "ntsd.exe -g -G"
    
    其中ntsd.exe是Windows自带的命令行调试器,-g参数跳过初始断点,-G参数避免进程退出时弹出提示框。设置完成后,程序A启动B.exe时,系统会先启动ntsd并附加到B,此时B会处于暂停状态,你可以直接用ntsd调试,或打开WinDbg等图形化调试器附加到该B.exe进程。
  • 调试完成后必须清理注册表项,否则B.exe每次启动都会触发调试器:
    reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\B.exe" /f
    

2. 使用GFlags工具可视化配置

GFlags是Windows调试工具集的可视化配置工具,操作更直观:

  • 若未安装,需先下载安装Windows SDK中的「调试工具」组件。
  • 打开GFlags,切换到「Image File」选项卡,输入B.exe的完整路径(或文件名,若在系统路径中),勾选「Debugger」选项,填入常用调试器的路径(例如C:\Program Files\Debugging Tools for Windows\x64\windbg.exe)。
  • 保存设置后,程序A启动B.exe时,系统会自动启动指定调试器并附加到B,此时B会暂停在入口点前,等待调试操作。
  • 调试结束后,回到GFlags取消该程序的调试器配置即可。

内容的提问来源于stack exchange,提问作者Max Abernethy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 22:03:40