Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 7 在Windows 7上终止进程_Windows 7_Kill - Fatal编程技术网

Windows 7 在Windows 7上终止进程

Windows 7 在Windows 7上终止进程,windows-7,kill,Windows 7,Kill,我正在调试Windows7上的插件,当然插件主机(Cubase5.exe)偶尔会因为插件中的错误而崩溃。在XP或Vista上,我总是可以立即重新启动它并继续工作。但在Windows7上,尽管Cubase似乎关闭了,但它仍然可以在任务管理器中看到,我无法用任何方法杀死它。一两分钟后,它就自动消失了。同时,我无法工作,因为插件DLL仍然被进程锁定 有人知道为什么在Windows7上会发生这种情况吗?我已经尝试过禁用自动错误报告,但没有帮助。我已尝试将cdb连接到Cubase,但我得到: Cannot

我正在调试Windows7上的插件,当然插件主机(Cubase5.exe)偶尔会因为插件中的错误而崩溃。在XP或Vista上,我总是可以立即重新启动它并继续工作。但在Windows7上,尽管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."

我尝试按照说明进行操作,但似乎只有在我将另一台计算机连接到我的计算机上进行远程调试时,这才可能实现。

您是否尝试过Mark Russinovich的方法?它对于“杀戮”非常有用:

您可以尝试的一件事是使用进程监视器检查Cubase正在做什么。设置一个过滤器,这样进程名中包含“cubase”的所有内容都将被记录下来。可能是Cubase要退出时遇到了超时问题。

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


这只是一个暗中操作,但可能是您的问题。

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

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


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

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


根据您试图停止的特定服务,可能有更干净的方法来模拟故障。

确实如此,或者来自同一Sysinternals套件的命令行工具
pskill
。也不允许我杀死Cubase5。对“线程”面板的检查显示,还有两个线程,其中一个似乎位于ntdll.dll中的DllRegisterServer中。您是否有ntdll的有效符号(使用MSFT公共符号服务器)?它几乎肯定不在DllRegisterServer中——这可能是最近的公共导出。我已经在使用它了。但应用程序似乎并没有像这样杀死某些特定的状态。当您不加载加载项时,Cubase是否会按预期关闭?还是有一个安全模式,这样就不会加载外接程序?我的插件会导致Cubase崩溃。问题是我不能在事后马上杀死它。谢谢。在等待Cubase关闭时,我在任务管理器中没有看到werfault.exe。如果你不能用taskmgr或pskill杀死它,它可能在某个地方等待内核线程时被阻塞。是的,我认为它很可能是一个不会取消的驱动程序,正如我在问题中给出的链接所解释的。但是附加一个内核调试器对我来说有点太多了。。。