debug.writeline - 如何在调试时在调试中获取它,在实时时如何获取文件
debug.writeline - how to get it in the debug when debugging and a file when in live
我即将上线一个 C# 项目,我正在努力解决一个简单的问题:如何在 Debug.WriteLine("");
上线时(且仅在上线时)将其转换为输出文件?
我做了什么:我把这个添加到 app.config
:
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="textListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="trace.log" />
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
然后这是 bug.log
class 我使用:
if (System.Diagnostics.Debugger.IsAttached)
{
Debug.WriteLine(msg);
}
else
{
Trace.WriteLine(msg);
}
如果它在调试器中(我想要的)我希望它写入调试 window 并在实时运行时写入输出文件('trace.log')(我想要的) ,但是这两个更改只是将所有内容放在 trace.log 中,无论如何。
如何设置它以便在实时构建中获得 trace.log
并在 Visual Studio 中获得 output > debug
window(Microsoft Visual Studio Express 2013 for Windows Desktop)如果我不是现场直播,而是使用 Visual Studio?
中的 [ > Start]
按钮
如果您的意思是 "Release mode" 用于 "live" 而不是调试模式,那么:
#if DEBUG
Debug.WriteLine(msg);
#else
Trace.WriteLine(msg);
#endif
您当然可以用预编译器中的实际调试常量替换 DEBUG。
保持简单:
Debug.WriteLine(msg);
Trace.WriteLine(msg);
你总是追踪到一个日志。 如果 附加了调试器,您还可以登录调试器window。如果您想查看调试器输出,请确保您的解决方案 [ > Start]
确实附加了调试器。请参阅 How to: Change the Start Action for Application Debugging。
您可以为 release
和 debug
配置提供两个不同的 .config
文件,并在发布配置中添加一个新的侦听器以跟踪文件。要管理多个配置文件,请查看 Scott Hanselman 文章 Managing Multiple Configuration File Environments with Pre-Build Events.
我即将上线一个 C# 项目,我正在努力解决一个简单的问题:如何在 Debug.WriteLine("");
上线时(且仅在上线时)将其转换为输出文件?
我做了什么:我把这个添加到 app.config
:
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="textListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="trace.log" />
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
然后这是 bug.log
class 我使用:
if (System.Diagnostics.Debugger.IsAttached)
{
Debug.WriteLine(msg);
}
else
{
Trace.WriteLine(msg);
}
如果它在调试器中(我想要的)我希望它写入调试 window 并在实时运行时写入输出文件('trace.log')(我想要的) ,但是这两个更改只是将所有内容放在 trace.log 中,无论如何。
如何设置它以便在实时构建中获得 trace.log
并在 Visual Studio 中获得 output > debug
window(Microsoft Visual Studio Express 2013 for Windows Desktop)如果我不是现场直播,而是使用 Visual Studio?
[ > Start]
按钮
如果您的意思是 "Release mode" 用于 "live" 而不是调试模式,那么:
#if DEBUG
Debug.WriteLine(msg);
#else
Trace.WriteLine(msg);
#endif
您当然可以用预编译器中的实际调试常量替换 DEBUG。
保持简单:
Debug.WriteLine(msg);
Trace.WriteLine(msg);
你总是追踪到一个日志。 如果 附加了调试器,您还可以登录调试器window。如果您想查看调试器输出,请确保您的解决方案 [ > Start]
确实附加了调试器。请参阅 How to: Change the Start Action for Application Debugging。
您可以为 release
和 debug
配置提供两个不同的 .config
文件,并在发布配置中添加一个新的侦听器以跟踪文件。要管理多个配置文件,请查看 Scott Hanselman 文章 Managing Multiple Configuration File Environments with Pre-Build Events.