2009-08-06 83 views
1

對於我在Visual Studio 2005中開發的C++項目,我想在調試模式下運行代碼時禁用TRACE輸出選項。我已經搜索瞭如何實現這一目標的互聯網,但沒有運氣。這很容易實現嗎?如果是這樣,怎麼樣?提前致謝。Visual Studio在調試模式下禁用TRACE

更新#1:

#define  USETRACE  0 
#if !USETRACE && DEBUG 
    #undef TRACE 
    #define TRACE(x) 
#endif 

我試圖在調試模式下上述代碼中,靠近stdafx.h中的最頂部,但TRACE仍然輸出到調試輸出。如果提供了有關我的實施方案出現問題的建議,這將非常有用,以便我可以修復它。謝謝。

+0

根據此信息更新了我的答案。 – JaredPar 2009-08-06 23:05:41

+0

更新的建議也不太有用。 – stanigator 2009-08-07 00:02:02

+0

這是一個MFC應用程序,一個ATL應用程序或其他框架? – 2009-08-07 04:06:39

回答

0

全局變量使用前幾個困難的方式次,這是我最終做的事情:

#if USETRACE 
    #define PRINT TRACE 
#else 
    #define PRINT 
#endif 
2

原來有一個更簡單的方式做到這一點,設置afxTraceEnabled假

afxTraceEnabled = false; 

參考

+0

忘記undef行。 – stanigator 2009-08-06 22:44:05

+0

在那種情況下,我在宏中添加了undef行。但是,TRACE語句仍然工作不正常(打印到調試輸出窗口)。我把這些行放在預編譯頭文件(stdafx.h)中。將指令放入預編譯頭文件中是否有任何重大不適當的操作?謝謝。 – stanigator 2009-08-06 22:49:28

+0

@stanigator,no。我經常把stdafx.h這樣的宏放在stdafx.h的頂部,以便將它應用於全局。 – JaredPar 2009-08-06 22:51:09

相關問題