停止 Visual Studio 在程序执行完后自动关闭

8

这可能是一个简单的Visual Studio问题,但我在网站上找不到它。

当我“开始调试”控制台程序时,它会在完成后立即退出。有没有办法在程序结束时暂停它,而不必在程序末尾放置显式的暂停命令?


希望您会发现这个相关问题的答案有用:https://dev59.com/Z3VC5IYBdhLWcg3ww0Dr - amit kumar
6个回答

10

在应用程序完成之前添加一个断点。


如果您不想进行代码更改,同时还想进行调试,我想不出其他办法了。+1 - Gishu
2
如果有多个出口怎么办?(尽管我的控制台程序现在还没有) - Unknown
好的,我给你加了一个。不幸的是,这种技术也会隐藏控制台窗口。 - Unknown
1
@Unknown- 在控制台程序中,很少有好的理由使用多个退出点。通常情况下,你希望有一个顶级错误处理器。 - RossFabricant
并非总是可行,我有一些情况,在最后设置断点似乎被忽略了(没有返回语句,这很重要)。 - gatopeich

6

您可以将Console.ReadLine放置在程序的末尾。这将强制程序等待换行符输入。或者您可以在程序的末尾放置断点。


我更喜欢 Console.ReadKey(true); :3 (它只是等待按键,无论是什么) - MasterMastic

3
"Run without Debugging"可以实现此功能,但我猜您仍然想要进行调试 :)

啊,这就是我想要的。可惜你无法用它进行调试。除非有更好的答案出现,否则我会接受你的回答。 - Unknown
如果你是在启动外部程序而不是项目,则此方法不起作用... - Jeffrey Cameron

1

正如@matthew所说,Console.ReadKey()会在执行程序后等待您的输入,但是您可以使用Console.ReadLine(),它只有在按下<ENTER>键时才会终止:

void main()
{
    Console.WriteLine("Hello World!"); //:)
    Console.ReadLine();//this will do the trick.
}

1

使用Console.ReadKey()即可。 它将暂停程序的执行,直到键盘上按下一个键。


请再次阅读问题中的这一部分:“在程序结尾处不要放置显式暂停命令” :) - Burkhard

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接