Release下调试信息输出

来源:互联网 发布:程序员刚入职都做什么 编辑:程序博客网 时间:2024/03/29 20:22

          关于Release下软件调试信息输出,主要原理,是待调试信息的应用程序,发送消息到调试接器,然后调试接收器再将调试信息接受下来,然后供用户选择输出。达到分析调试的目的。 

         本人开发了一个调试信息接收器,如要使用,可以到我的资源里面下载--全能调试器,或在google中搜索然后现下载。这是一款软件开发者常用的软件,全能调试器是解决您的问题的好帮助。全能调试器不仅仅能作为调试信息输出,而且可以作为一个信息输出软件,监视您的软件运行,欢迎您提出宝贵意见。

 

使用方法如下

1、在您的程序中定义后面的调用函数。

2、在使用的地方调用这个方法。就可以在DbgView中看到调试信息了。

DT("work ok in line %d",m_nLine);

 

//DT is a macro to help debug app by dump useful info,
//it works for debug and release version.
//DT("work ok in line %d",m_nLine);

//define following line to enable DT
#define DT DebugTrace

BOOL DebugTrace(char * lpszFormat,...)
{
 static HWND hwnd = ::FindWindowA(NULL, "DbgView");
 if(!IsWindow(hwnd))
  hwnd = ::FindWindowA(NULL, "DbgView");
 if(hwnd)
 {
  static char szMsg[512];
  va_list argList;
  va_start(argList, lpszFormat);
  try
  {
   vsprintf(szMsg,lpszFormat, argList);
  }
  catch(...)
  {
   strcpy(szMsg ,"DebugHelper:Invalid string format!");
  }
  va_end(argList);
  DWORD dwId = GetCurrentProcessId();
  ::SendMessage(hwnd,WM_SETTEXT,dwId,(LPARAM)(LPCTSTR)szMsg);
 }
 return TRUE;
}

原创粉丝点击