TraceInformation方法调用已被编译器禁用

本文关键字:编译器 方法 调用 TraceInformation | 更新日期: 2023-09-27 17:59:54

我在最后一行代码中设置了一个断点。断点已禁用。为什么?代码似乎被某些条件排除在外。TraceSource的构造函数可以工作,我可以验证对象是否正常,所有侦听器是否正常。这看起来真的很奇怪。我在int a=1时停止;然后调试器忽略TraceInformation跳过它。配置为DEBUG x86。

public TraceSource _fixTraceSource;
_fixTraceSource = new TraceSource(_configSection.TraceSourceName);
int a = 1; // dummy line to set breakpoint
_fixTraceSource.TraceInformation("FIX -> toAdmin Message: {0}", message.ToString());

TraceInformation方法调用已被编译器禁用

TraceInformation被标记为:

[Conditional("TRACE")]

因此,您需要在编译时定义的TRACE符号才能将其包含在内。这通常是通过选中项目属性页中的"定义TRACE常量"框来实现的(默认情况下,Debug和Release配置文件都启用了该框,因此有人在某个时候取消了复选框)。