DebugView图文教程

来源:互联网 发布:荣耀盒子pro与网络连接 编辑:程序博客网 时间:2024/05/17 22:29

OutPutDebugString(TEXT("在调试器里输出的类容"));

复制代码
#define MAXDUGBUFF 20#define OutError(ErrorEvent)    {  \      wchar_t DebugChar[MAXDUGBUFF];    \      ZeroMemory(DebugChar, MAXDUGBUFF * sizeof(wchar_t));    \      wsprintfW(DebugChar, L"%s  Error(%d) at line(%d)\n", ErrorEvent, GetLastError(), __LINE__);    \      OutputDebugStringW(DebugChar);    \    }
复制代码

上面这段代码适用于执行函数出错之后要打印错误代码的一段宏。

复制代码
#define MAXNUMBUFF 10#define OutError(Number)    {    \        wchar_t NumberChar[MAXNUMBUFF];    \        ZeroMemory(NumberChar, MAXNUMBUFF * sizeof(wchar_t));    \        wsprintfW(NumberChar, L"%d\n", Number);    \        OutputDebugStringW(NumberChar);    \    }
复制代码

上面这段代码适用于打印数字。

 

可以很方便的捕获系统实时输出的Debug信息,并保存为日志文件。可以远程捕获服务器上的Debug信息。比较方便开发人员在系统发布前监控一些系统流程和异常,甚至在系统不大的情况下,更能在部署后进行远程监控功能。

 

1、DbgView界面和监控方法

打开软件后,顶部工具栏中选择监控主机。先看连接本地机调试,点击“Connect Local”即可。

在这个工具栏上,主要看几个图标

此按钮,表示是否开启捕获服务

此按钮,表示是否捕获系统内核的Debug信息

此按钮,表示是否捕获一般Win32应用,也就相当于我们的应用的Debug信息

 

注意:只有调用了WinDebug中方法的地方的输出Debug信息才能被DebugView捕获。

 

再来看看捕获的应用信息:将打开两个按钮的叉叉去掉,就会看到DebugView可能输出一些信息。如下图: 

 这些都是系统中的应用调用WinAPI所输出的Debug信息。但是只有红色部分是我们的Demo所输出的信息。

此时我们可以新建过滤器,只查看我们自己想看到的信息打开后我们看到下图

 

在Include和Exclude,分别表示Debug Print的内容“包含”“不包含”的字符串。

例如在include中输入:GTA

 

点击OK后

 

DebugView就会只显示GTA开头的Debug信息,因此在写程序时,为了监控方便,我们可以将Debug信息分类,以不同的前缀或标志为约束,统一Debug输出格式,方便以后排除和捕获系统异常等情况。

Exclude与之相反,这里不介绍了。

另外说说,这个按钮表面显示的记录条数。

  

2、远程捕获

可以在本机调试捕获服务器上的Debug信息。

在服务器上新建dbgView.exe程序的快捷方式

 

在快捷方式的“目标“后键入:空格+/c字符。然后确定。

再运行快捷方式,服务器就会等待连接。

此时客户端打开自己的dbgview.exe

 

点击connect后,输入服务器的IP地址,便连上服务器了。这样,用户可以在本地直接捕获服务器上的Debug信息了。

主要功能就是这些。另外,如果要在运行时应用不输出debug信息,可以将web.config或app.config中的

<system.web>

                   <compilation debug="true" targetFramework="4.0"/>

设置为false,然后在调用WinDebug的地方就不会再输出Debug信息了


【参考资料 感谢作者】

DebugView图文教程



0 0
原创粉丝点击