您的位置:首页 > 编程语言 > C语言/C++

DebugView用于VC++调试

2014-06-23 10:15 183 查看

1.简介

下载地址 http://technet.microsoft.com/en-us/sysinternals/bb896647

默认的VS输出窗口功能较弱, debugview可对输出日志消息一些处理,满足特定需求.

按关键字过滤:去除无关日志,眼睛清静

按关键字着色:分类提示

自动输出日志打印时间:大致耗时分析等

cltrl+f查找功能:



2.使用方法

Win32下直接调用 OutputDebugString(str)即可在debugview中输出

不能显示的一些常见问题:/article/11361932.html

3.VC++在debug模式下使用DebugView

此版本在debug模式下调用OutputDebugString是不会在debugview里输出的,某些情况下可能需要调试运行程序又想看到debugview中的输出

解决方法:

编写一个中转程序(此程序后台运行,接收其它程序发来的消息并调用OutputDebugString)

调试运行的程序调用sendmessage给中转程序

void DbgView(const char* fm, ...)
{
HWND hwnd = ::FindWindow(NULL, _T("DbgviewTranslate"));
if (hwnd)
{
static char szMsg[1024];

va_list argList;
va_start(argList, fm);
vsprintf_s(szMsg, fm, argList);
va_end(argList);
::SendMessage(hwnd, WM_SETTEXT, NULL, (LPARAM)(LPCTSTR)szMsg);
}
}


for (size_t i = 0; i < 5; i++)
{
DbgView("[song1]: index = %d", i);
}
for (size_t i = 0; i < 5; i++)
{
DbgView("[song2]: index = %d", i);
}
for (size_t i = 0; i < 5; i++)
{
DbgView("[song3]: index = %d", i);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: