最近看到使用dbgsrv及windbg进行远程调试一段,发现这是个好东西,但就是死活不能按照理论上的步骤来,郁闷中。后来经多方求助,现将相关经验与大家分享。请指点!
请使用windbg的版本如下:6.12.2.633,微软官网有下,CSDN我的资源里也有下载,请注意。此版本发布日期为Feb,26,2010,因为此前的版本(6.11.1.404)有问题,在debugger上按F6获取debugee上进程信息,则会要么出现:1、Unable to connect to process server。2、即使获取debugee进程列表,选择其中的进程进行调试会出现“unable to initialize the target machine information,win32 error on87”。
Debugger与debuggee的版本(debugging Tools For Windows的安装包)最好是相同,我没有试过不同的情况。
好的,下面就如何使用dbgsrv与windbg进程远程调试步骤进行说明:
1、在debugee运行如下命令,假设你的安装目录如下。出现那个windbg的标题栏是我PS上去的,只是想说明一下我的windbg版本。
2、在debugger的cmd里输入如下命令
则debugger的windbg会启动,画面如下(一个空的windbg session):
下面你可以使用F6,调出debuggee上面的进程列表,那么你就可以选择进行调试了,如果被调试进程的源文件或符号文件在debugger上面,则你可以设置断点调试了。另外,你可以在debugger为debugee创建新进程,进行调试,步骤如下:
(1)、在windbg的command栏内输入以下命令
.create -premote tcp:port=9999,server=202.119.11.150 notepad.exe
上面语句执行完毕会出现以下画面,接下来调试就如同windbg常用调试了。
好了,使用dbgsrv和windbg进行远程调试的内容就讲到这里,如果有任何问题,我们可以沟通,希望对你有帮助。