调试客户端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  

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

    调试客户端windbg远程调试方法_第1张图片

    注意红色分部,如果此时,你输入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的调试器中会现出没法打开路径的正告。

    


    

以上,亲自试测可行,望希对你有帮助。

文章结束给大家分享下程序员的一些笑话语录: 雅虎最擅长的不是开通新业务,是关闭旧业务。

你可能感兴趣的:(远程调试)