windbg远程调试方法

WinDBG的远程调试由服务端和客户端组成,和visualstudio类似。 被调试的机器是服务端(server), 我们做调试的机器是客户端(client)。 两台机器都需要安装WinDBG
第一步, 建立WinDBG server 端
使用 -server参数可以使WinDBG以服务器方式启动。 WinDBG可以用多种连接协议让客户端连接,比如命名管道(named pipe),安全管道(secure pipe), TCP协议(socket), SSL协议,串口/并口(COM port)等等。

第二步, 用WinDBG client 端连接服务

   使用 -remote参数可以使WinDBG以客户端方式启动去连接服务端,可以指定不同的连接方式:比如命名管道(named pipe),安全管道(secure pipe), TCP协议(socket), SSL协议,串口/并口(COM port)等等。

我这里以tcp协议为例,用管道或其他我暂时没有试验成功。

PC1:被调试主机

PC2:调试机客户端

PC1执行的步骤如下:

1)、运行cmd.exe

2)、进入windbg的安装目录

3)、运行以下命令
(1)、windbg–server tcp:port=5005 c:\aa.exe  

一般会出现下图所示界面:


注意红色部分,如果此时,你输入g命令,则aa.exe程序正常运行,你将不能调试程序的初始化流程如(dllmain或main),此时如果用客户端调试PC1,则相当于我们平时的attatchprocess的动作。反之,此时,你不做任何事情,直接到PC2上,执行调试流程,则可以调试PC1上的aa.exe初始化流程,此时相当于我们在vs里F5调试。

(2)、windbg–server tcp:port=5005  –p 1002       
这也是一种调试方法,其中,-p 1002 中的1002是我们想调试的进程ID ,这种调试模式相当于attatch toprocess的模式,不能调试dllmain或main函数.

PC2执行的步骤如下:

1)、运行cmd.exe

2)、进入windbg的安装目录

3)、运行以下命令
windbg –remote tcp:port=5005,server=192.168.33.11
另外,要注意,pdb文件一定放置在PC1上面,在PC2的windbg里设置的符号文件路径也一定设置PC1的路径,否则在PC2的调试器中会出现无法打开路径的警告。

以上,亲自测试可行,希望对你有帮助。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值