从Windows服务启动调试器失败

时间:2012-05-24 16:25:58

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

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

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

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

  

发生了未处理的异常('启动用户')   MyService.exe [376]。及时调试这个   异常失败,出现以下错误:调试器无法执行   因为没有用户登录而启动。

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

1 个答案:

答案 0 :(得分:0)

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

#If DEBUG Then
    While True

    End While
#End If

这允许我手动附加到visual studio中的进程并在while循环中设置断点。一旦我点击断点,我就手动走出while循环,继续进行应用程序的其余部分。