从Visual Studio运行,不带ReadLine()时查看最终控制台输出

问题描述 投票:0回答:1

调试我的控制台应用程序,带有来自文件的重定向输入(调试/开始选项/命令行参数 < "filename.in")。这意味着我无法在执行后使用通常的ReadLine() /Read()/ ReadKey()来保持控制台窗口的打开状态,因为那样会试图从文件中读取输入。

我当前的解决方案是Sleep(),您能提供更好的替代方法吗?

using System;
using System.Diagnostics;
using System.Threading;
using static System.Console;

class Test
{
    static void Main(string[] args)
    {
        WriteLine("some output");

        if (Debugger.IsAttached) Thread.Sleep(Timeout.Infinite);
    }
}

代替检查调试器或#if DEBUG,我还可以检查一些仅从Visual Studio中传递的其他命令行参数。这样做的好处是无需调试即可运行(但随后我不知道如何重定向输入)。

另一种选择是在最后一个断点,但是然后我的窗口被置于后台,我需要单击以查看它。

最后一种选择是也重定向输出,并在文件选项卡中查看它。

自VS2019起,有一个新选项调试/常规/自动关闭控制台,但是取消选中它似乎根本不起作用吗?

所以我正在寻找更好的方法。不需要上面的using的加分点:)

c# visual-studio console-application .net-4.6
1个回答
0
投票

[如果您使用Visual Studio 2019(我不知道其他版本可以使用,则可以通过工具->选项->调试->取消选中调试停止时自动关闭控制台。enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.