【问题标题】:How to debug windows service which fails in Init() method如何调试在 Init() 方法中失败的 Windows 服务
【发布时间】:2009-12-16 12:13:12
【问题描述】:

我有一个 Windows 服务在 Init() 方法中失败并抛出一些异常,所以我只能通过查看事件日志来检查错误是什么。我想调试 Windows 服务,但问题是我只能在服务运行时附加调试器,在我的情况下,它仅在 Init() 方法中失败。有什么想法吗?

【问题讨论】:

    标签: debugging windows-services service


    【解决方案1】:

    您可以以编程方式将调试器附加到函数的第一行:

    Debugger.Launch ();
    

    添加 using 语句后:

    using System.Diagnostics;
    

    【讨论】:

      【解决方案2】:

      我通常做的是有一个带有static void Main() 入口点的类,然后我可以在项目属性中临时分配它。从那里,我调用应用程序作为服务运行时调用的相同启动函数。

      【讨论】:

        【解决方案3】:

        您可能可以使用 DebugDiag 或 windbg 获取崩溃转储。

        你的服务是 C++ 还是 C#。

        也许这只是第一次机会例外,而不是真正的崩溃。您能否提供有关失败的更多信息。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多