【问题标题】:Launching debugger from windows service fails从 Windows 服务启动调试器失败
【发布时间】:2012-10-30 20:02:28
【问题描述】:

目前我的代码中有以下语句允许我调试 Windows 服务:

#If DEBUG Then
        System.Diagnostics.Debugger.Launch()
#End If

我将它放在 OnStart 方法中,当我启动服务时,我可以附加到我的 Visual Studio 实例。目前我有一个失败的实例。我在虚拟机上安装了该服务,但遇到以下错误:

未处理的异常(“为用户启动”)发生在 我的服务.exe [376]。及时调试这个 异常失败并出现以下错误:无法调试器 已启动,因为没有用户登录。

我在本地机器上调试这样的服务从来没有遇到过问题,所以我不确定发生了什么。如果这很重要,用户将设置为以LocalSystem 登录。我是通过管理员登录虚拟机的。

【问题讨论】:

    标签: vb.net visual-studio-2008 windows-services


    【解决方案1】:

    我最终在 OnStart 方法中添加了以下语句:

    #If DEBUG Then
        While True
    
        End While
    #End If
    

    这允许我手动附加到 Visual Studio 中的进程并在 while 循环中设置断点。一旦遇到断点,我就会手动跳出 while 循环以继续执行应用程序的其余部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-15
      相关资源
      最近更新 更多