Visual studio 如何在Visual Studio中以调试模式停止/终止Windows服务

Visual studio 如何在Visual Studio中以调试模式停止/终止Windows服务,visual-studio,debugging,service,windows-services,visual-studio-debugging,Visual Studio,Debugging,Service,Windows Services,Visual Studio Debugging,我在本地计算机上安装了Windows服务,并从服务控制管理器启动它。然后我在VisualStudio2013中打开了它的C.Net解决方案,转到附加到进程屏幕并成功地附加到服务。VS2013切换到调试模式,然后进程到达第一个断点。我做了一些调试,然后想在一个基本上不希望它运行其余代码的点上终止服务。所以,在断点处保持执行时,我转到服务控制管理器并尝试发送一个停止命令。几分钟后,我收到一条消息,没有命令可以成功发送到服务。然后,我在VS2013中单击了停止调试按钮。这使我在VS2013中摆脱了调试

我在本地计算机上安装了Windows服务,并从服务控制管理器启动它。然后我在VisualStudio2013中打开了它的C.Net解决方案,转到附加到进程屏幕并成功地附加到服务。VS2013切换到调试模式,然后进程到达第一个断点。我做了一些调试,然后想在一个基本上不希望它运行其余代码的点上终止服务。所以,在断点处保持执行时,我转到服务控制管理器并尝试发送一个停止命令。几分钟后,我收到一条消息,没有命令可以成功发送到服务。然后,我在VS2013中单击了停止调试按钮。这使我在VS2013中摆脱了调试模式,但似乎该服务仍在继续,并在后台执行其余代码。我可以在数据库中看到我想保留的更新


问题是,在这种情况下,如何在某个断点处停止/终止服务,使其不会执行其余代码?

我不知道您是否可以在VS中执行此操作,但当我在C++Builder中调试服务时,附加到服务进程,然后停止调试器会终止正在调试的进程。听起来VS只是从流程中分离出来。看看是否有让VS不再这样做的选项。或者使用任务管理器终止进程,如@ForguesR建议的假设您有权终止系统进程-使用调试器终止进程可以解决这一问题,至少在UAC之前的较旧操作系统版本上是如此。

在Windows任务管理器的“服务”选项卡中,找到要终止的服务。右键单击服务,然后单击转到流程。所选流程(如果有)是与您的服务相对应的流程。终止这个过程。