DbgView工具&远程调试

1. DebugView:
DebugView is an application that lets you monitor debug output on your local system, or any computer on the network that you can reach via TCP/IP. It is capable of displaying both kernel-mode and Win32 debug output generated by standard debug print APIs, so you don’t need a debugger to catch the debug output your applications or device drivers generate, and you don’t need to modify your applications or drives to use non-Windows debug functions in order to view its debug output.

DebugView可以在自己本地的机器,或者是任意一个可以通过TCP/IP协议访问到的电脑上监视调试输出的应用程序。Debugview 可以捕获程序中由TRACE(debug版本)和OutputDebugString输出的信息。支持Debug、Release模式编译的程序(即该软件捕获的是exe直接运行时,抛出的信息,而不是Visual Studio调试时的),甚至支持内核程序,而且能够定制各种过滤条件,让你只看到关心的输出信息,而且可以定制高亮显示的内容等等,非常方便。

一般驱动的dbgprint调式信息都能被dbgview工具捕捉到,需要开启“capture kernel”。

在程序中使用如下函数:

  1> OutputDebugString  或者在MFC中使用TRACE

  2> 内核模式中使用Out_Debug_String,DbgPrint ,_Debug_Printf_Service

---------------------------------------------------------------

使用DebugView进行远程调试输出 

1) 目标机器(运行调试程序的机器)使用命令行工具(CMD)定位远程主机DebugView所在的目录,然后在命令行下执行:dbgview /a,执行此命令后,DebugView工具会以Agent模式运行。在这个模式下,DebugView会等待主控机器(显示log输出的机器)的连接请求,当主控机器连接成功后,所有在远程主机上的调试输出,都会转发至主控机器。也就实现了远程调试信息输出的功能。

DbgView工具&远程调试_第1张图片

2) 主控机器启动DebugView,并断开默认情况下的到本机的连接。

DbgView工具&远程调试_第2张图片

3) 点击菜单Connect,并输入远程主机的IP地址或者计算机名,然后点击OK。(要确保两台电脑可以访问,可以先用ping命令测试一下。可以用网线直连,使用静态IP。)

DbgView工具&远程调试_第3张图片

4) 主控主机连接远程主机成功,会弹出提示对话框。

DbgView工具&远程调试_第4张图片

5) 远程主机接受主控机器的连接请求,并成功建立连接后,会弹出提示对话框。

DbgView工具&远程调试_第5张图片

测试

测试的方法比较简单,在远程主机上的程序调用OutputDebugString时,如果一切顺利,远程主机上输出的调试信息会出现在主控机器上的DebugView中。

 


 

你可能感兴趣的:(WDF)