【问题标题】:How to close an "orphaned" console window that was opened from within visual studio?如何关闭从 Visual Studio 中打开的“孤立”控制台窗口?
【发布时间】:2011-03-21 02:58:50
【问题描述】:

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

它将保持打开状态,但完全没有响应。我无法通过右键单击窗口并单击“关闭”来关闭窗口;我无法通过任务管理器关闭它,也无法通过结束特定进程来关闭它(据我所知)。事实上,如果发生这种情况,我什至无法退出 Windows,而无需实际按下电源按钮以重新启动计算机。

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

系统信息:Windows XP SP3、Visual Studio 2010

编辑:这通常发生在我进入调试模式之后。所有异常都会冒泡并打印到控制台,所以这并不是因为异常导致应用程序中断,但有时我会逐步执行应用程序,直到我到达应用程序中异常被捕获的部分 em>,但在它真正被扔回 UI 之前。

【问题讨论】:

  • 这很可能是因为您的应用程序引发了异常。检查您是否正在尝试访问您不应该访问的内存或者可能是无限循环?
  • @Ran 我添加了一些有助于澄清的更多信息。

标签: windows visual-studio debugging visual-studio-2010 console-application


【解决方案1】:

我几乎遇到了同样的问题,并找到了不同的解决方案,所以在这里发帖以防它帮助其他人......

就我而言,我运行的是 XP SP3 和 VS 2005。 如果我停止调试控制台应用程序(有时),命令窗口将不会关闭。

问题是进程实际上已经退出,它根本没有出现在任务管理器中,因此无法对窗口或关闭进行任何操作。窗口仍然响应标记/复制/粘贴/滚动等,仅此而已。

在此处找到有关 MS 支持的热修复: http://support.microsoft.com/kb/982551

【讨论】:

  • 非常感谢您发布此信息。这个特殊的问题一直困扰着我,我很高兴看到一些可以帮助我的东西。
【解决方案2】:

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

Debug + Stop Debugging 应该会终止程序。然而,有一个特定于 XP 和更早版本的问题,如果内核线程正在执行进程的 I/O 请求,则进程无法终止。您可以从 Taskmgr.exe 的“进程”选项卡中查看此情况。查看 + 选择列并勾选“句柄”。当您看到它显示 1 个句柄正在使用时,您就有了一个僵尸进程。

不太确定您是如何摆脱这种情况的,它是特定于未完成的 I/O 请求。很久以前放弃XP,我隐约记得杀死devenv.exe来解决问题。 Windows 7 不错,推荐。

【讨论】:

  • 我在家里使用 Win 7 并且喜欢它。希望当我们在年底升级到 7 时,这个问题会自行解决。
【解决方案3】:

我以前在 windows xp 上遇到过这个问题。第一次在win 7中获得它。天哪,这很烦人。

编辑:杀死 devenv.exe 对我有用。不得不重启 sln 很烦人。

【讨论】:

    猜你喜欢
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多