windbg远程调试方法

本文详细介绍了如何在Windows环境下使用Windbg进行远程调试,包括设置服务器(如通过TCP/IP、命名管道等)、配置客户端连接参数,以及注意事项,如符号文件路径的设定。适合调试人员快速上手远程调试技术。
摘要由CSDN通过智能技术生成

远程调试是需要又在不同位置上的调试器。执行真正调试称为调试服务器,另外一个,被称为调试客户端。调试客户端,控制着一个与远程调试器相应的是会话。有2种方式:直接使用windbg进行远程连接,使用cmd命令行。

注意:

pdb文件一定放置在服务器上面,在客户端的windbg里设置的符号文件路径也一定设置服务器的路径,否则在客户端的调试器中会出现无法打开路径的警告。

使用Windbg进行远程调试

服务端

1.在服务端当正常普通的情况下,使用Windbg运行可执行exe,像正常调试检测一样,可以执行到dmp文件。

2.在Debugger Command Window中,输入如下命令(5005为任意选择的端口作为实例):

.server tcp:port=5005

3.WinDbg将返回如下内容:

Server started.  Client can connect with any of these command lines
0: <debugger> -remote tcp:Port=5005,Server=YourHostComputer

客户端:

在客户端计算机上,打开WinDbg,选择File菜单中的Connect to Remote Session。

6.在Connection String下面, 输入下面的字符串

tcp:Port=5005,Server=YourHostComputer

YourHostComputer的地方可以是你运行调试服务器计算机的名字,或者是IP.

在服务器和客户端的Command Window 都显示连接成功,这时候就可以在客户端输入执行的命令。

使用命令行

使用 -server 参数可以使WinDBG 以服务器方式启动。 WinDBG可以用多种连接协议让客户端连接,比如命名管道(named pipe), 安全管道(secure pipe), TCP 协议(socket), SSL 协议, 串口/并口(COM port) 等等。

服务端 

命名管道

WinDBG.exe -server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] [-noio] [Options]  

TCP 协议

WinDBG.exe -server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] [-noio] [Options] WinDBG.exe -server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] [-noio] [Options]  

串口/并口

WinDBG.exe -server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden],password=Password] [-noio] [Options]  

安全管道

WinDBG.exe -server spipe:proto=Protocol,certuser=Cert|machuser=Cert},pipe=PipeName[,hidden],password=Password] [-noio] [Options]  

SSL 协议

WinDBG.exe -server ssl:proto=Protocol,certuser=Cert|machuser=Cert},port=Socket[,hidden],password=Password] [-noio] [Options] WinDBG.exe -server ssl:proto=Protocol,certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] [-noio] [Options]

客户端

命名管道
WinDBG.exe -remote npipe:server=Server,pipe=PipeName[,password=Password]

TCP 协议
WinDBG.exe -remote tcp:server=Server,port=Socket[,password=Password][,ipversion=6]
WinDBG.exe -remote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]

串口/并口
WinDBG.exe -remote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]

安全管道
WinDBG.exe -remote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]

SSL 协议
WinDBG.exe -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]
WinDBG.exe -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]

服务端

1)、运行cmd.exe

2)、进入windbg的安装目录

3)、运行以下命令

(1)、windbg –server tcp:port=5005 F:\test\stdtest\sdk\release\MFCtest.exe    //后面的是可执行程序

客户端:

1)、运行cmd.exe

2)、进入windbg的安装目录

3)、运行以下命令

windbg –remote tcp:port=5005,server=192.168.33.11  //服务主机的ip

需要设置一下环境,有2种办法:

1.在cmd 中,跳转目录到 windbg.exe 的安装目录,使用cd 绝对路径

2.在环境变量的系统变量path 加上 windbg.exe 的安装目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值