2012-06-19 42 views
0

当我调试我的程序并发生错误时,调试会话结束,但程序仍保留在内存中。使用Windows的活动管理器关闭它不起作用。我需要关闭Visual Studio才能杀死进程。 这是怎么回事?Visual Studio调试程序锁定在内存中

+0

你说的是“some-executable.vshost.exe”吗?在这种情况下,这并不奇怪。此外,错误是否发生在您的代码或外部库中(例如,您不能轻易调试自己的代码,您只会得到反汇编)? – Bart

+0

错误发生在我的代码中,也就是说,当我正在调试时,我跨越了一行执行错误的代码,调试会话结束,但程序仍保留在内存中。我不知道你指的* vshost.exe是什么。 –

+0

嗯调试会话真的“结束”还是只是暂停?我希望后者是这样。您可以看到程序是否被工具栏中的“回放”类型按钮暂停。或者,您应该通过打开调试菜单来获得一些提示...... – Bart

回答

0

在调试过程中发生程序错误时,程序通常不会“结束”。相反,调试器(VS2010)暂停执行,允许您检查导致错误的代码。根据所使用的语言(例如C#)和编译程序的方式,您甚至可以在运行中编辑程序,将执行光标移回一点并从那里继续执行程序。

如果Debug工具栏是可见的(在我的情况下,它会在我调试时自动显示),您应该会看到一些“回放”按钮,允许您启动/继续,暂停,停止程序等。如果你停止了你的程序,它也将从任务管理器中消失。

正如我在你的问题的评论中提到的,你也可以使用调试菜单来完成这些任务。