9

我正在查看一些 C# 代码,并且遇到了以下语句:

#if DEBUG
    // Do something here
#else
    // Do something else
#endif

我假设 DEBUG 将在某处定义如下:

#define DEBUG

但是我无法找到这样的定义,尽管代码的行为似乎已经设置好了。DEBUG 是一个特例,如果是,它是如何设置/取消设置的?

4

4 回答 4

6

在项目上,转到Properties -> Build。一般来说,您可以选择同时定义DEBUGTRACE

于 2010-05-27T10:25:22.007 回答
4

它是通过#define指令或在编译器设置中设置的。在调试版本中定义 DEBUG 是很常见的,因此您可以有条件地编译一些代码,如示例中的代码。

您可以在MSDN上阅读有关它的更多信息。

于 2010-05-27T10:23:39.683 回答
4

如果您查看项目属性,您会发现一个调试选项 DEBUG 然后您可以在 C# 中执行以下操作:

[Conditional("Debug")]
public void DebugThis()
{
}
于 2010-05-27T10:27:55.530 回答
1

您还可以在项目 Properties 的 Build 选项卡下定义 DEBUG 和 TRACE 条件编译常量。对于这种情况,可能会为您的项目选中定义调试常量复选框。

更多细节@MSDN

于 2010-05-27T10:28:36.230 回答