作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
升级到 VS2013 后,我开始以“() : atlTraceGeneral - 我的输出”格式接收所有 ATLTRACE2 消息。
例如
ATLTRACE(_T("This is my data: %d\n"), 124);
...显示为
dllmain.cpp(1121) : atlTraceGeneral - This is my data: 124
我不需要任何额外信息。这里有什么方法可以恢复到以前的格式,以便输出只是
This is my data: 124
最佳答案
唯一可行的修复方法是取消定义 _DEBUG 宏下的 ATLTRACE 并自行实现跟踪。微软大佬推荐the same .
解决方案如下所示:
#ifdef _DEBUG
#ifdef ATLTRACE
#undef ATLTRACE
#undef ATLTRACE2
#define ATLTRACE CustomTrace
#define ATLTRACE2 ATLTRACE
#endif // ATLTRACE
#endif // _DEBUG
具有以下 CustomTraces:
void CustomTrace(const wchar_t* format, ...)
{
const int TraceBufferSize = 1024;
wchar_t buffer[TraceBufferSize];
va_list argptr; va_start(argptr, format);
vswprintf_s(buffer, format, argptr);
va_end(argptr);
::OutputDebugString(buffer);
}
void CustomTrace(int dwCategory, int line, const wchar_t* format, ...)
{
va_list argptr; va_start(argptr, format);
CustomTrace(format, argptr);
va_end(argptr);
}
关于c++ - 摆脱 ATLTRACE 输出中显示的 atlTraceGeneral 类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20508086/
我正在维护一个 C++ COM 项目。有一些跟踪线,例如 ATLTRACE(message);我搜索了 ATLTRACE。 MSDN 告诉 Visual C++ 输出窗口会显示它。但是,该产品是一个发
升级到 VS2013 后,我开始以“() : atlTraceGeneral - 我的输出”格式接收所有 ATLTRACE2 消息。 例如 ATLTRACE(_T("This is my data:
我是一名优秀的程序员,十分优秀!