搭建WinDbg应用程序调试环境

目录

本地调试应用程序

远程调试应用程序

调试正在运行的进程

从程序加载之初开始调试

从程序加载之初开始调试的另一种方法


本地调试应用程序

  • Open Executable...从本机选择一个程序进行调试
  • Attach to a Process...将调试器挂载到本机正在运行的一个程序

远程调试应用程序

通过Ethernet建立远程连接是比较常见的一种方式。

调试正在运行的进程

  • 从调试工具文件夹(例如: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\)复制dbgsrv.exe, dbgeng.dll , dbghelp.dll, DbgModel.dll到Target计算机。
  • 关闭防火墙,如果是Windows PE系统: wpeutil disablefirewall。
  • 在Target中启动debug stub server, 指定TCP端口。 e.g.  Dbgsrv.exe -t tcp:port=4321。

  • 打开Host的Windbg.exe,连接到Target。File > Connect to Remote Stub Server > dialog box。连接信息的格式: tcp:server=ServerIP,port=PortNumber. e.g.  tcp:server=10.20.30.40,port=4321。

  • File>Attach to a Process, 可以看到Target正在运行的进程,选择需要调试的进程作为Debugee。

从程序加载之初开始调试

  • 启动debug stub server的时候带上-cs参数,它使dbgsrv创建一个新的进程并让这个新进程暂停。例如:dbgsrv -t tcp:port=4321 -cs app.exe
  • 同样,通过Remote Stub Server连接Target,在进程列表中可以发现app.exe进程,选择进入调试窗口。

  • 在WinDbg中执行~*m命令。这个命令恢复被dbgsrv暂停的所有线程。
  • 现在可以为debuggee设置断点,并执行命令g或按F5来运行进程。
  • 调试完成后,在WinDbg中执行.endpsrv命令杀死Windows PE上的dbgsrv。

从程序加载之初开始调试的另一种方法

  • WinDbg Preview(从Windows Store安装)可以从WinDbg预览中启动远程进程,它将立即被挂起。
  • 文件>连接到进程服务器。使用与WinDbg相同的连接字符串。

  • 启动可执行(高级)。指定远程机器上的可执行文件和开始目录路径。

注意:虽然WinDbg Preview启动远程调试方便,但是它的功能不如WinDbg.exe齐全。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值