2012-01-29 154 views
0

爲什麼當我更改構建調試x86而不是「任何CPU」時,所有對System.Diagnostics.Debug.Print()的調用都會被跳過?我正在使用一臺64位機器。異常輸出仍然顯示。Visual Studio 2010 - 調試輸出

+0

平臺目標與Debug vs Release配置選擇無關。 – 2012-01-29 21:01:09

回答

2

您可能已更改爲'Release'版本,因此DEBUG未定義。

+0

多數民衆贊成在我的想法..我有它設置爲調試模式。它只能在x86,x64和任何不被跳過的CPU上跳過? – 2012-01-29 20:18:54

0

不,它們只在發佈模式下編譯時纔會跳過。

+0

多數民衆贊成在我的想法..我有它設置爲調試模式。它只能在x86,x64和任何不被跳過的CPU上跳過? – 2012-01-29 20:20:19

+0

如果在構建過程中設置了DEBUG條件編譯常量,則這些方法對它們有條件屬性,這些屬性由C#,VB.NET編譯器評估以包含此方法調用。通過查看Reflector,Ildasm等編譯好的二進制文件,您可以很容易地檢查調用是否包含在內。如果調用失敗,您將從某處獲得發佈版本。檢查二進制文件的時間戳,如果你實際執行了你認爲自己構建的那個。 – 2012-01-29 20:31:00