无法杀死的控制台窗口

Posted

技术标签:

【中文标题】无法杀死的控制台窗口【英文标题】:Unkillable console windows 【发布时间】:2011-01-31 03:58:33 【问题描述】:

我正在 Visual C++ 2008 下使用 GLUT 开发基于 OpenGL 的 2d 模拟,有时当我遇到 assert() 或未处理的异常并闯入调试器时,GLUT 显示窗口关闭,但控制台窗口保持打开状态。他们就是不能杀!!!

它们不会出现在任务管理器、进程资源管理器或任何其他工具中,我也无法使用 Spy++ 工具找到窗口句柄。

最糟糕的是它们阻止我的系统 (Windows XP) 关闭,我必须手动关闭电源(当然我必须在我的驱动器上运行 chkdsk,并且它总是会在错误关闭后发现并修复小错误)

有人遇到过这样的问题吗?

【问题讨论】:

为什么要运行 chkdsk?不是 NTFS 日志记录吗? 【参考方案1】:

这是一个driver problem。除了希望获得更新的驱动程序之外,您无能为力。

【讨论】:

我发现即使在非 OpenGL 程序上也会发生这种情况......也许与 VS2008 调试器有关?最近才从VS2003切换到VS2008(VS2005我绕过了,和Vista一起)【参考方案2】:

几个月前,我在 XP 上调试一个简单的控制台应用程序时开始注意到这一点 - 不确定这是由于我们从 VS2005 切换到 VS2008 还是由于 MS 的某个补丁。

【讨论】:

在 VS2005 下发生在我身上。我认为某些 XP 或 VS 补丁引入了此错误。

以上是关于无法杀死的控制台窗口的主要内容,如果未能解决你的问题,请参考以下文章

批处理文件不会杀死进程并关闭控制台窗口

React app无法登录到控制台或终端窗口

杀死正在运行的程序的方法以及如何捕获它们?

如何杀死不会死的VMware虚拟机? [关闭]

Firebase 云消息服务 - 即使应用程序被杀死也能接收通知

System.Threading.Timer 杀死 PowerShell 控制台