Yes*_*ses 2 c# windows debugging
我正在尝试将调试日志添加到我的C#.net代码中.但它弄乱了我的代码,它看起来像一个地狱.有没有什么能够自动记录每个代码的值?现在看起来像这样
#if DEBUG
debuglogger("The functionstarted");
#endif
someCode1();
#if DEBUG
debuglogger("SomeCode1 Finished");
#endif
someCode2();
#if DEBUG
debuglogger("SomeCode2 Finished");
#endif
someCode3();
#if DEBUG
debuglogger("SomeCode3 Finished");
#endif
#if DEBUG
debuglogger("Function End");
#endif
Run Code Online (Sandbox Code Playgroud)
你应该使用ConditionalAttribute
.它允许您定义在条件不匹配时将在构建时删除的条件方法:
[Conditional("DEBUG")]
void DebugLog(string message)
{
// Do some logging...
}
Run Code Online (Sandbox Code Playgroud)
对于此方法的调用将在DEBUG
未定义的构建中被删除.就像
#if DEBUG
DebugLog("Testing...");
#endif
Run Code Online (Sandbox Code Playgroud)
与移动方法#if
内部相比,这具有不会使堆栈轨迹混乱的额外好处.