如何暂停正在调试的Windows控制台程序

时间:2014-12-26 05:58:28

标签: c# vb.net windows debugging console

调试程序调试时,一旦程序结束,控制台关闭 >并且没有机会看到输出。我该如何保持开放状态?

3 个答案:

答案 0 :(得分:2)

我经常看到这样的问题。通常建议使用Console.ReadKey()或类似的东西,但这不适合生产使用。我的偏好是简单地在Main的最后一行或类似的地方放置一个断点。

然而,我认为一个好的替代方法是使用Debugger.IsAttached来确定是否正在调试控制台程序。以下是如何使用它的简单示例。这是C#代码,但我希望很容易转换为VB .Net。

using System;
namespace TestConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Testing");
            if (System.Diagnostics.Debugger.IsAttached)
            {
                Console.WriteLine("Debugging; press a key to continue...");
                Console.ReadKey();
            }
        }
    }
}

答案 1 :(得分:0)

#define DEBUG
// ...
#if DEBUG
    Console.WriteLine("Debug version");
#endif

请参阅http://msdn.microsoft.com/en-us/library/4y6tbswk.aspx

答案 2 :(得分:0)

如果您不想只调试按(Ctrl + F5)。否则,如果你想调试只是在代码的最后一行放置断点

您可以在程序结束时使用Console.ReadKey();

Console.ReadKey();阻止当前线程,直到按下字符或功能键。