1介绍:DebugView是一个系统调试信息输出的捕获工具。debugview 是 Sysinternals 公司的系列调试工具。debugview 可以捕获程序中由 TRACE(debug版本)和 OutputDebugString 输出的信息。debugview 也是一个 Debug 信息捕获软件,可以很方便的捕获系统实时输出的Debug信息,并保存为日志文件。可以远程捕获服务器上的Debug信息。 比较方便开发人员在系统发布前监控一些系统流程和异常,甚至在系统不大的情况下,更能在部署后进行远程监控功能。
2功能:可以捕获程序中由 TRACE()和 OutputDebugString() 输出的信息。说的具体一点,在程序中使用如下函数:
- 1)OutputDebugString 或者在MFC中使用TRACE
- 2)内核模式中使用 Out_Debug_String,DbgPrint ,_Debug_Printf_Service
编译程序为 DEBUG版本,然后运行程序(注意:不是在vs中运行,是单独运行),打开DebugView 就可以在其中看到输出的调试信息。
3运行界面如下:
过滤器的功能比较实用:include 表示调试信息包含的字符串,exclue 表示不包含的字符串,多个字符串使用“;”号隔开。
捕捉 Release模式的 Win32程序输出的调试信息,请选中 “Capture Global Win32”选项
程序打开时需要设置是本机连接还是远程调试,Debugview 也支持远程调试,在本机运行Dbgview.exe /c /s /t 可以让DebugView以服务的形式运行。在远端打开Debugview,点击Computer/connect ,输入查看调试信息主机的IP ,点击确定即可
可以自己建个工程测试下:
void OutputDebugStringEx(TCHAR* format, ...)
{
TCHAR buffer[1024];
va_list argptr;
va_start(argptr, format);
wvsprintf(buffer, format, argptr);
va_end(argptr);
OutputDebugString(buffer);
}
for (int i=0; i < 20; ++i)
{
OutputDebugStringEx("%s:%d", "gyc", i);
Sleep(1000);
}
输出调试信息如下: