我的应用程序使用TRACE
宏将调试数据发送到Visual Studio中的输出窗口。一些输出字符串使用多次打电话给TRACE
宏建,如显示在下面的代码片段:在Visual Studio中将输出锁定到输出窗口
BYTE i, len;
len = pMsg[APP_LEN_OFFSET] + sizeof(appPktHead_t) - APP_MSG_CODE_LEN;
TRACE(_T("%s: "), fnName);
TRACE(GetCmdIdStr(pMsg[APP_MSG_CODE_OFFSET]));
TRACE(_T(" 0x"));
for (i = 0; i < len; i++)
{
TRACE(_T("%.2X "), pMsg[i]);
}
TRACE(_T("\r\n"));
我无论怎样才能锁定输出到输出窗口此功能的持续时间,或者在一次呼叫中将整个字符串发送到TRACE
?谢谢。
@JaredPar:谢谢。它排序的工作,但我现在在输出窗口中得到一些奇怪的输出。看看这个截屏(http://tinypic.com/r/2v9b588/7)。奇数字体应该是输出字符串的位置,但显示的字符串的唯一部分是函数名称,其余部分是加密的。 – 2011-05-24 21:38:38
@Jim它看起来像问题是unicode和ASCII的混合。我会尝试'wstringstream',看看是否解决了问题 – JaredPar 2011-05-24 22:03:18
@Jim Fell,奇怪的输出是因为它将字节视为字符。简单的解决方法是将'pMsg [i]'强制转换为int。此外,由于您似乎试图以十六进制输出,所以在输出值之前不要忘记std :: hex修饰符。 – 2011-05-24 22:04:08