我开发了一项Windows服务,这项服务正在我帐户下的本地计算机上运行。当我尝试通过在Visual Studio 2008中将其作为一个过程附加来调试此服务时,我得到“无法附加到该过程。 Visual Studio没有足够的权限来调试此过程。要调试此过程,必须以管理员身份运行Visual Studio。“ 我已经以管理员身份登录我的系统,因此当VS 2008启动时,它以管理员身份运行,不知道为什么我会收到此错误。我使用的是Windows XP Pro sp3
答案 0 :(得分:12)
如果您使用的是Windows XP,则PC的本地安全策略可能会限制非管理员运行调试程序。默认情况下,只有管理员可以调试。
管理工具 - >本地安全政策 - >本地政策 - >用户权利分配 - > “调试程序”
答案 1 :(得分:2)
我知道这已经过时了,但我在VS2015遇到了同样的问题。原来唯一的问题是我的代码/解决方案存储在我的用户文档文件夹下,其上有一个小的挂锁图标。我认为这意味着VS调试进程无法使用这些文件。将其移动到限制较少的文件夹可以解决问题。希望这有助于其他人 - 哦,我的第一篇文章就在这里!
答案 2 :(得分:1)
听起来像几件不同的事情。首先,检查运行该进程的用户,最有可能是管理员或域管理员。将其改为不那么特权的东西。
此外,可能是您已连接到域,并且域管理员已将内部管理员权限取消。在这种情况下,您需要让IT部门来解决这个问题。
答案 3 :(得分:1)
Spoulson 是正确的,无论您在登录令牌中有SeDebugPrivilege,您都无法调试作为服务运行的进程。要检查,我通过双击Visual Studio进程并选中Security选项卡,使用SysInternals套件中的ProcesExp.exe。在底部,您将看到已转换的所有权限。它们以“Se”前缀开头。
另一个想法是确保在VS(Visual Studio中的Tools-> Options-> Debugger菜单选项)下为所有不知道的人启用所有JIT(即时)调试器设置。
答案 4 :(得分:0)
我在Vista上看过这个,但不是在XP上。要在Vista中解决这个问题,我只需在开始菜单中右键单击Visual Studio 2008条目,然后选择“以管理员身份运行”
答案 5 :(得分:0)
我也遇到过这个问题。我不知道如何永久地解决它,但我找到了解决办法。
这对我有用。我希望它也适合你。