【问题标题】:How to stop / kill Windows Service in debug mode in Visual Studio如何在 Visual Studio 中以调试模式停止/终止 Windows 服务
【发布时间】:2014-06-13 15:29:14
【问题描述】:

我在本地机器上安装了一个 Windows 服务并从服务控制管理器启动它。然后我在 Visual Studio 2013 中打开了它的 C#.Net 解决方案,进入“附加到进程”屏幕并成功附加到服务。 VS2013 切换到调试模式,然后进程到达第一个断点。我做了一些调试,然后想立即终止服务(基本上不希望它运行其余代码)。因此,在断点处暂停执行时,我转到服务控制管理器并尝试发送停止命令。几分钟后,我收到一条消息,没有命令可以成功发送到服务。然后,我点击了VS2013中的“停止调试”按钮。这使我退出了 VS2013 中的调试模式,但似乎服务仍在继续并在后台执行其余代码。我可以在数据库中看到我想要阻止的更新。

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

【问题讨论】:

  • 在 Windows 任务管理器的“服务”选项卡中找到您要终止的服务。右键单击该服务,然后单击 Go to process。所选进程(如果有)是与您的服务相对应的进程。杀死这个进程。

标签: visual-studio debugging service windows-services visual-studio-debugging


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 2018-09-07
    • 2016-01-23
    • 1970-01-01
    相关资源
    最近更新 更多