2013-12-17 50 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部分恢復正常工作。