代码之家  ›  专栏  ›  技术社区  ›  Ben McCormack

如何关闭从VisualStudio中打开的“孤立”控制台窗口?

  •  3
  • Ben McCormack  · 技术社区  · 14 年前

    在visualstudio中处理控制台应用程序时,我将通过按F5运行该应用程序以使其进入调试模式。偶尔(我不确定这是怎么发生的),我会在visualstudio中回到“编辑模式”,调试控制台窗口仍然会打开。

    它将保持开放,但完全没有反应。我不能右击窗口并单击“关闭”来关闭窗口;我不能通过任务管理器关闭它,也不能(据我所知)通过结束特定进程来关闭它。事实上,如果不按电源按钮重新启动电脑,我甚至无法退出Windows。

    如何在不重新启动计算机的情况下关闭窗口?

    编辑: ,但在它真正返回到UI之前。

    3 回复  |  直到 14 年前
        1
  •  4
  •   Jay    14 年前

    在我的例子中,我运行xpsp3和vs2005。

    问题是进程实际上已经退出,它根本不会出现在任务管理器中,因此无法处理窗口或关闭。窗口对标记/复制/粘贴/滚动等保持响应,但仅此而已。

    在MS支持上找到一个热修复程序: http://support.microsoft.com/kb/982551

        2
  •  2
  •   Hans Passant    14 年前

    第一部分是正常的,当调试器在中断模式下有一个进程时,控制台窗口无法响应关闭请求。

    调试+停止调试应终止程序。但是,有一个问题是XP和更早版本所特有的,如果内核线程正在执行进程的I/O请求,进程就不能终止。您可以从Taskmgr.exe的“进程”选项卡中看到此情况。查看+选择列并勾选“Handles”。当你看到一个僵尸进程显示一个句柄在使用时,你就有了一个僵尸进程。

    不太确定如何摆脱这种状况,它相当特定于未完成的I/O请求。我很久以前就抛弃了XP,我隐约记得杀死devenv.exe是为了解决这个问题。Windows7不错,推荐。

        3
  •  1
  •   Faykarta    13 年前

    编辑:杀死devenv.exe对我有效。重新启动sln很烦人。