跟踪不会关闭的C#控制台窗口

时间:2012-09-25 13:56:48

标签: c# console windows-xp

好的,这是一个有点奇怪的问题,但我发现了类似的问题:

Debugged Program Window Won't Close

Unable to kill instances of cmd.exe on Win XP

How to close an "orphaned" console window that was opened from within visual studio?

我最近在生产环境中发现了这个问题,奇怪的是这台机器没有安装VS,我没有调试,但行为完全一样。我发现真正有效的唯一一件事是使用PSKill(http://technet.microsoft.com/en-us/sysinternals/bb896683)关闭csrss.exe(它控制所有控制台窗口)。这显然造成了崩溃,但我能够重启机器。我发现这特别有用,只要这种机器无法实际访问。

框详情为:

奔腾4,1GB内存,Windows XP SP2(请注意,这不是我理想的设置,但不能由我来决定:P)

但是,我想知道是否有办法防止这种情况再次发生。

我想强调的是,在这台特定的机器上没有安装VS,并且程序运行不是Debug构建,而是Release 1。我确实尝试过Microsoft的KB 982551修补程序,但无济于事。

应用程序的详细信息如下:它通过命名管道打开并连接到另一个进程,然后如果通信中断或者通过X按钮关闭控制台窗口或键入“q”,它将关闭。显然,命名管道沿着某个地方向下移动,应用程序保持活着(在任何其他情况下都不会发生,只有这个)。

你能想到一种在更容易控制的环境中追踪/再现这种行为的方法吗?

如果您要求,我会很乐意发布代码的任何部分,我现在不会这样做,因为有5个不同的文件可以完成所有工作。

编辑:哦,我忘了告诉你,目标机器没有KB 978037,以防万一你想知道。

0 个答案:

没有答案