【问题标题】:Killing processes on Windows 7在 Windows 7 上杀死进程
【发布时间】:2010-08-25 08:11:12
【问题描述】:

我在 Windows 7 上调试插件,当然插件主机 (Cubase5.exe) 偶尔会因为插件中的错误而崩溃。在 XP 或 Vista 上,我总是可以立即重新启动它并继续工作。但是在 Windows 7 上,即使 Cubase 似乎关闭了,它仍然在任务管理器中可见,我无法以任何方式杀死它。一两分钟后,它会自行消失。与此同时,我无法工作,因为插件 DLL 仍被进程锁定。

有谁知道为什么在 Windows 7 上会发生这种情况?我已经尝试禁用自动错误报告,但这没有帮助。我尝试将 cdb 附加到 Cubase,但我得到:

Cannot debug pid 5252, NTSTATUS 0xC0000001
    "{Operation Failed}  The requested operation was unsuccessful."
Debuggee initialization failed, NTSTATUS 0xC0000001
    "{Operation Failed}  The requested operation was unsuccessful."

我尝试按照说明 here 进行操作,但似乎只有在我将第二台机器连接到我的计算机以远程调试它时才有可能。

【问题讨论】:

  • 当您不加载插件时,Cubase 是否会按预期关闭?还是有安全模式不加载插件?
  • 我的插件导致 Cubase 崩溃。问题是我不能很快杀死它。

标签: windows-7 kill


【解决方案1】:

我终于找到了解决方案,使用这篇文章:

http://blogs.technet.com/b/markrussinovich/archive/2005/08/17/unkillable-processes.aspx

这需要安装适用于 Windows(好名字)和 LiveKd 的 Windows 调试工具,但按照概述的步骤,我能够跟踪导致进程挂起的驱动程序:它原来是 64 位驱动程序我正在使用的 M-Audio Oxygen 8 V2 控制器。很遗憾,没有可用的驱动程序更新。

无论如何,如果有人遇到类似的问题,这就是解决它的方法。

【讨论】:

    【解决方案2】:

    你试过 Mark Russinovich 的 Process Explorer 吗?对“杀”真的很有用:)

    【讨论】:

    • 确实如此,或者来自同一个 Sysinternals Suite 的命令行工具 pskill
    • 也不允许我杀死 Cubase5。检查线程面板显示有两个线程剩余,其中一个似乎在 ntdll.dll 的 DllRegisterServer 中。
    • 您是否有有效的 ntdll 符号(使用 MSFT 公共符号服务器)?它几乎肯定不在 DllRegisterServer 中——这可能只是最近的公共出口。
    • 我已经用过了。但似乎该应用程序并没有像这样杀死某些特定状态。
    【解决方案3】:

    如果您启用了错误报告,则 werfault.exe 可能会打开 Cubase 以编写用于崩溃报告的小型转储。

    这只是暗中的尝试,但可能是你的问题。

    【讨论】:

    • 谢谢。我在等待 Cubase 关闭时在任务管理器中看不到 werfault.exe。
    • 无赖。如果你不能用 taskmgr 或 pskill 杀死它,它可能在某个地方的内核线程上等待。
    • 是的,我认为这很可能是一个不会取消的驱动程序,正如我在问题中提供的链接中所解释的那样。但是附加一个内核调试器对我来说有点太多了......
    【解决方案4】:

    您可以尝试的一件事是使用 Process Monitor 检查 Cubase 正在做什么。设置一个过滤器,以便记录进程名称包含“cubase”的所有内容。当 Cubase 想要退出时,您可能会遇到一些超时问题。

    【讨论】:

      【解决方案5】:

      您可以结束服务正在运行的进程。您可以通过转到任务管理器的“服务”选项卡,右键单击并选择“转到进程”来找到此进程(您需要单击“显示所有用户的进程”按钮。)。请注意,一个进程可能托管多个服务(尤其是如果它是 svchost.exe),结束该进程将终止所有这些服务。此外,这是一个不干净的出口,可能会导致数据损坏,具体取决于您杀死它时服务正在做什么。

      根据您尝试停止的特定服务,可能有一种更简洁的方法来模拟故障。

      【讨论】:

        猜你喜欢
        • 2012-06-13
        • 2013-10-12
        • 2015-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-07
        相关资源
        最近更新 更多