2012-01-29 157 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