2013-12-17 39 views
1

我试图调试一个C#应用程序,并且我已经在#if DEBUG /#endif块中定义了一些只用于调试的代码,并且尽管将该构建设置为Debug并且仔细检查了项目属性并确保它被设置为输出到调试,并且“Define DEBUG constant”复选框被选中,我的代码没有运行。这就是我想要做的事:VS2013:如何使#if DEBUG代码运行?

#if DEBUG 
    log.Add("Executing this section of code."); 
#endif 

#if DEBUG 
    SkipToThisOtherMethod(); 
    return; 
#endif 

它右吹过去,但不运行的代码。我究竟做错了什么??

+6

你确定在设置了“Define DEBUG常量”之后编译了吗?因为那*应该是你唯一需要的东西。另外:你有任何'#undef DEBUG'吗? –

+1

我没有其他类似的代码。我想我假设单击“开始”按钮将编译代码;显然不是,因为我刚刚使用“重建解决方案”命令,现在它可以工作。请回复作为答案,我可以给你指出这一点。 – Ant

+1

@Ant,如果您希望在单击“运行/开始”按钮时执行构建操作,请进入VS'选项对话框并导航到“投影和解决方案” - >“构建并运行”。在那里你应该找到几个选项,当你按下运行按钮时会发生什么。 (我不知道VS2013选项对话框的细节,但我希望它们没有完全重新构造它,而不是旧的VS版本。) – elgonzo

回答

1

我有这个问题,似乎通过取消勾选Define DEBUG常量来解决它,保存项目,重新打勾并重新保存项目。然后编译并运行,#if DEBUG和#if!DEBUG部分恢复正常工作。