2009-08-06 84 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

相关问题