我的調試跟蹤函數_TRACE

來源:互聯網
上載者:User

#include <comdef.h><br />#ifdef _DEBUG<br /> void _TRACE( LPCTSTR szInfo, _variant_t Val)<br /> {<br /> try<br /> {<br /> WCHAR szBuff[1024];<br /> memset(szBuff, 0, sizeof(szBuff));</p><p> if(szInfo)<br /> {<br /> _variant_t vs( szInfo );<br /> vs.ChangeType( VT_BSTR );<br /> wcscat(szBuff, vs.bstrVal);</p><p> if(wcslen(szBuff) > 0)<br /> wcscat(szBuff, L"=> " );<br /> }</p><p> Val.ChangeType(VT_BSTR);<br /> wcscat(szBuff, Val.bstrVal);</p><p> if(wcslen(szBuff) > 0)<br /> wcscat(szBuff, L"/r/n" );<br /> OutputDebugStringW(szBuff);<br /> }<br /> catch (_com_error &e)<br /> {<br /> AfxMessageBox(e.ErrorMessage());<br /> }<br /> }</p><p> #define __TRACE(Val) /<br /> { /<br /> TCHAR szInfo[1024];/<br /> memset( szInfo, 0 , sizeof(szInfo));/<br /> wsprintf( szInfo, _T("%s(%d): %s"),__FILE__, __LINE__, #Val);/<br /> _TRACE( szInfo, Val);/<br /> }</p><p>#else<br /> #ifdef __noop<br /> #define _TRACE(x,y) __noop<br /> #define __TRACE(Val) __noop<br /> #else<br /> #define _TRACE(x,y) //<br /> #define __TRACE(Val) //<br /> #endif<br />#endif<br />

 

 

//簡單的測試代碼<br /> double Val = 8.54;<br /> _TRACE( _T("Test"), Val);<br /> _TRACE( _T("String"), _T("ABCD"));</p><p> __TRACE( Val );

 

輸出

Test=> 8.54
String=> ABCD

C:/TEMP/ff/ff.cpp(106): Val=> 8.54

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.