当你想在你的代码中找到一个错误时,这很难;当你认为你的代码是不会有错误时,这就更难了。

kill-killing windows 7上的进程

admin 130℃
我正在Windows7上调试插件,当然插件主机(cubase5.exe)偶尔会因为插件中的错误而崩溃。在xp或vista上,我总是可以立即重新启动它并继续工作。但是在windows 7上,尽管cubase看起来关闭了,但它在任务管理器中仍然可见,我不能用任何方法杀死它。一两分钟后,它就自己消失了。同时,由于插件dll仍被进程锁定,我无法工作。

有人知道为什么在Windows7上会发生这种情况吗?我已经试过禁用自动错误报告,但这没有帮助。我试过将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,但似乎只有当我将另一台计算机连接到我的计算机以进行远程调试时,这才有可能。

我终于找到了解决方案,使用本文:

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

这需要为windows(nice name)和livekd安装windows调试工具,但通过执行概述的步骤,我能够跟踪导致进程挂起的驱动程序:它原来是我正在使用的m-audio oxygen 8 v2控制器的64位驱动程序。很遗憾,没有可用的驱动程序更新。

不管怎样,如果有人遇到类似的问题,这是解决问题的方法。

你试过马克·鲁辛诺维奇的Process Explorer吗?它对'杀戮'非常有用:)

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

这只是在暗中捅一刀,但可能是你的问题。

您可以尝试的一件事是与进程监视器检查cubase正在做什么。设置一个过滤器,以便记录进程名中包含'cubase'的所有内容。当CuBASE想要退出时,可能面临超时问题。

转载请注明:我的代码 » kill-killing windows 7上的进程