C# 获取发布版本中System.Diagnostics.Debug.Assert()的行为?
我想在特定情况下检测并报告bug,使用与C# 获取发布版本中System.Diagnostics.Debug.Assert()的行为?,c#,assert,C#,Assert,我想在特定情况下检测并报告bug,使用与Debug.Assert()相同的行为,但在发布版本中。我该怎么做呢?您应该能够使用Trace.Assert() 发件人: 如果要在发布版本中执行断言,请使用Trace.Assert方法。Assert方法仅在调试版本中有效 您不能打开跟踪并执行跟踪吗?您可以在发布模式下使用条件跟踪。另外,您可以使用log4net实现一些有条件的日志记录,您可以在仍然启用发布优化的情况下手动添加调试常量 在项目设置的Build选项卡中,只需选中启用DEBUG常量的复选框
Debug.Assert()
相同的行为,但在发布版本中。我该怎么做呢?您应该能够使用Trace.Assert()
发件人:
如果要在发布版本中执行断言,请使用Trace.Assert方法。Assert方法仅在调试版本中有效
您不能打开跟踪并执行跟踪吗?您可以在发布模式下使用条件跟踪。另外,您可以使用log4net实现一些有条件的日志记录,您可以在仍然启用发布优化的情况下手动添加调试常量 在项目设置的Build选项卡中,只需选中启用DEBUG常量的复选框 这允许所有具有(如)的函数仍在编译程序中运行
编辑:,如果可能,使用
跟踪。断言。如果定义了常量跟踪
,并且在发布版本中默认定义了该常量,则该函数将触发。这将确保您不会因为启用任何其他在代码中使用\if DEBUG
或[ConditionalAttribute(“DEBUG”)]
的代码而产生任何不可预见的副作用。甚至比我的回答更好,我不知道跟踪。断言
没有冒犯,但“微软C团队的前成员”怎么办(您的个人资料描述)不知道Trace.Assert
?我不知道的事情列表非常、非常长。请看:虽然意图正好相反,但答案应该会给您提供所需的线索。