我试图附加到使用Visual Studio 2010 - > Debug - > attach to process命令的Windows服务。当我滚动进程列表时,我的Windows服务变灰,attcah按钮也变灰。我曾尝试将服务帐户更改为loacal服务,我的帐户等,但仍然显示为灰色。任何人有任何建议或无论如何解决这个问题?Visual Studio将调试器附加到Windows服务 - 附加灰显
回答
我通常有同样的问题,我通过添加一个布尔到我的配置,触发调试启动照顾它。您可以通过调用此推出,重视你的服务赢得进程VS调试器实例:
System.Diagnostics.Debugger.Launch();
什么是好的是,你可以调用它,无论你在你的代码的愿望。
确保您以管理员身份运行Visual Studio。它需要管理员权限才能连接到正在运行的服务。
试过这个,但没有运气。我可以附加到进程列表中列出的其他服务,而不是我需要的服务。 :) – 2010-09-10 12:57:50
您可能没有权限附加到该服务。你有桌面上的管理员权限吗?许多公司不允许这种默认设置,据称可以帮助确保他们的环境。
是的,我有管理员权限,我试图右键单击并以管理员身份在VS中运行,看看是否有帮助。没有运气。 – 2010-09-10 12:58:32
您是否有能力尝试这里描述的替代调试策略:http://msdn.microsoft.com/en-us/library/7a50syb3(VS.80).aspx? – 2010-09-10 13:17:11
史蒂夫,感谢您的链接。我实际上看过那个页面,但没有看到底部的替代策略。我以前使用过一个控制台来测试服务,这是一个相当不错的选择。 – 2010-09-15 13:04:22
在VS2010,在“附加到进程”对话框,选中底部的两个复选框即说和“显示过程中的所有会话”'所有用户显示进程的。
在这样做,我发现我有我的进程显示了两次,一个作为系统运行,一个运行在我的本地Windows登录。不知道为什么(对此的任何输入都会很棒!),但是我能够附加到没有显示出来的灰色,并且能够以这种方式穿过我的代码。希望这有助于!我会尽力在我获得时间时更新。
更新: 第二个是servicename.vshost.exe进程,正如Ozz在评论中指出的那样。
如果您仍然看不到它,请确保您的服务仍在运行,有时您可能会遇到启动并自动停止的失败服务,因此不会显示在选项附加中。
Tools-> Attache to Process。只需检查左下角的所有用户的显示进程。按进程排序并尝试查找您的Windows服务
我不仅需要选择show processes from all users
和show processes in all sessions
复选框;我也必须点击Select
按钮,然后选择Managed
代码。
我今天遇到同样的问题,有没有上述工作方案。事实证明,如果您有一个procdump会话监视该进程,则无法附加到进程。
我通过更改从RELEASE到DEBUG生成安装程序的方式解决了我的问题。然后,我安装了服务并按照通常情况附加。
安装winsdows服务后,启动它,然后在Visual Studio中打开附加到进程窗口(Alt + Control + P),找到您的进程并选择它并单击窗口底部的附加按钮。
祝你好运!
这不应该是downvoted,这正是微软建议:https://docs.microsoft.com/en-us/dotnet/framework/windows-services/how-to-debug-windows-service-applications – Worthy7 2017-07-18 02:33:31
- 1. 如何通过附加visual studio来调试windows服务?
- 2. Visual Studio调试器未附加
- 3. Visual Studio调试未附加到WebDev.WebServer.EXE
- 4. 如何在Visual Studio中将进程附加到调试器?
- 5. 将Visual Studio调试器附加到多个DLL
- 6. 将调试器附加到另一个Visual Studio实例
- 7. 将w3wp进程附加到Visual Studio 2010调试器for IETester
- 8. 将Visual Studio调试器附加到VS IDE主机
- 9. 在Visual Studio中附加调试进程
- 10. Visual Studio无法调试只能附加
- 11. 我可以预先将调试器附加到服务上吗?
- 12. 如何将附加功能添加到Visual Studio的服务器浏览器?
- 13. 无法调试Windows服务 - “附加到进程”
- 14. Visual Studio - 附加到进程
- 15. Visual Studio附加到流程
- 16. 不附加到Unity的Visual Studio调试器
- 17. Visual Studio 2013不附加到JavaScript调试的浏览器进程
- 18. Visual Studio 2012加载项 - 如何将调试器附加到进程
- 19. 何时将调试器附加到w3wp.exe
- 20. 将grunt附加到VSCODE调试器
- 21. 将totalview调试器附加到变量
- 22. 如何将调试器附加到WebService?
- 23. 将调试器附加到Azure应用服务上的ASMX服务
- 24. 调试与附加到进程启动ASP.NET开发服务器
- 25. 将Android Studio调试器附加到桌面JVM应用程序
- 26. Windows服务无法附加到进程
- 27. 将调试器附加到Visual Studio 2017的另一个实例中
- 28. 如何使Visual Studio宏将调试器附加到w3wp.exe的所有实例?
- 29. 从命令行附加Visual Studio调试器
- 30. Visual Studio调试器在网站根目录时无法附加
难道是因为服务处于发布模式? – pdiddy 2010-09-09 21:25:01
好想,但我已经检查过,这是在调试模式。 – 2010-09-10 12:57:07