Winform 实现 发布程序输出调试内容

问题 有些时候我们在发布后还需要查看调试输出已确定问题,通过以下几种办法存在一些问题: Debug.WriteLine 发布后无法可见 把程序修改成命令行程序,但是感觉软件不正式,不和谐 使用Trace.WriteLine后在调试的时候又看不到 解决办法: 使用条件编译重写WriteLine方法,将

问题

有些时候我们在发布后还需要查看调试输出已确定问题,通过以下几种办法存在一些问题:

  • Debug.WriteLine 发布后无法可见

  • 把程序修改成命令行程序,但是感觉软件不正式,不和谐

  • 使用Trace.WriteLine后在调试的时候又看不到

解决办法:

  1. 使用条件编译重写WriteLine方法,将使用的Debug.WriteLine替换成Logger.WriteLine

        public static class Logger
        {
            public static void WriteLine(string? message)
            {
#if DEBUG
                Debug.WriteLine(message);
#else
                Trace.WriteLine(message);
#endif
            }

            public static void WriteLine(object? value)
            {
#if DEBUG
                Debug.WriteLine(value);
#else
                Trace.WriteLine(value);
#endif
            }

            public static void WriteLine(string? message, string? category)
            {
#if DEBUG
                Debug.WriteLine(message, category);
#else
                Trace.WriteLine(message, category);
#endif
            }

            public static void WriteLine(object? value, string? category)
            {
#if DEBUG
                Debug.WriteLine(value, category);
#else
                Trace.WriteLine(value, category);
#endif
            }
        }
  1. 通过命令行打开软件

dotnet xxxxx.dll

进阶

既然使用了命令行,就使用启动参数 --debug true

见:

https://gd520.cc/archives/winform-ming-ling-xing-du-qu-can-shu

LICENSED UNDER CC BY-NC-SA 4.0
Comment