我的應用程序使用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