繁体   English   中英

无法调试Windows Service VS2010 Win7

[英]Can't debug windows Service VS2010 Win7

从XP和VS2005迁移到Win7和VS2010后,我无法调试任何服务。

我可以编译,安装,可以正确运行服务。

但是,我需要调试它们。 当我尝试附加到该进程时,就像在VS2005上一样,选择了正在运行的进程,并且收到一条错误消息,提示我需要管理员权限。

我已经是管理员。 另外,在互联网上搜索了很多之后,我发现以管理员身份(通过右键单击)运行VS2010应该可以解决该问题,但我仍然无法解决。

我还尝试标记vslauncher.exe属性上的复选框以始终以管理员身份运行它。 VS2010窗口顶部显示它实际上是以管理员身份运行的,但是当我尝试附加到该进程时,它又说我需要管理员权限。

有人对如何进行有任何想法吗?

编辑您的服务,并将以下行放入OnStart()方法中:

Debugger.Launch(); 请务必在OnStart()中执行此操作,而不是在OnStart()启动的线程中执行此操作,这样,如果有任何错误,可以在服务崩溃之前捕获它。

服务启动时,调试器将打开。 然后,Windows将提供自动启动高架视觉工作室的功能,以便您可以附加到服务中。 我发现将这一行与app.config设置放在一起非常有用,因此您可以根据需要启用它(即启动调试器并将其附加到服务)。

仅供参考,当您使用Vista / Windows 7时,您可以以管理员身份运行应用程序。 但是,除非您使用“提升的”权限启动它们,否则这些应用程序会明确拒绝管理特权。 这是称为UAC的安全功能。

这是一个权限问题。 Win7带有一个新的安全系统,我必须将此权限添加到我的配置文件中(即使是管理员):

控制面板->管理工具->本地安全策略->本地策略->用户权限分配->调试程序->添加用户或组。

在那里,我添加了自己的用户。 重新启动计算机(重要!如果不重新启动,它将无法正常工作)。

之后,我可以附加进程以对其进行调试。 解决这个问题已经很长时间了,我希望可以帮助发现同样问题的其他人。

谢谢大家的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM