Как увидеть вывод консольной программы C # при запуске в VS?

1

Я просто написал умную программу под названием helloworld. Это консольное приложение С#/.NET 4.5. Внутри скрученных вложенных лабиринтов логики используется Console.WriteLine().

Когда я запускаю это в командной строке, он запускается, и я вижу результат. Я могу выполнять другие команды и немного путаться, а затем прокручивать вверх, чтобы снова увидеть результат.

Теперь я в Visual Studio, настройка источника ("Привет" более эффективна, чем "Привет") и тестирования, нажав F5. Случается, что окно консоли появляется и сразу исчезает. Я понятия не имею, что напечатала программа. Как я могу увидеть результат?

Я не хочу изменять свой источник вообще. После поиска решений я нахожу тех, кто говорит, что использует Console.ReadKey(), но потом он сосать, чтобы использовать программу в командной строке. Нет реальной причины, по которой пользователь должен будет нажать клавишу, когда программа уже выполнила свою работу. Даже если я пойду с этим, проблема с выходом исчезает, когда окно консоли закрывается после нажатия клавиши.

Я не хочу использовать Debug.WriteLine(), который записывает в окно вывода в VS, но не пишет обычный вывод для конечного пользователя.

Я обнаружил ctrl-F5, который запускает программу, как если бы у нее была конечная строка Console.ReadKey(), но по-прежнему возникает проблема, когда я нажимаю любую клавишу, все выходные данные исчезают вместе с окном. Через три минуты я думаю: "О, подожди, напечатал ли он" Привет "или" Хело "? Нет возможности проверить.

Похоже, что среда разработки Visual Studio должна каким-то образом захватить все, что только что созданная программа запишет в ее стандартную версию или эквивалент Microsoft, и показать ее на панели "Выход" или на какой-либо панели для последующего анализа. Может быть, он это делает, и я еще не знаю трюк? Похоже, это было бы общим желанием среди миллионов разработчиков С#.

  • 0
    Хороший вопрос. Единственное постоянное состояние находится в окне вывода, так что, похоже, вам нужно написать дважды. Один раз на консоль, а один раз на отладчик.
  • 0
    Говоря лично, я бы не хотел, чтобы среда IDE пыталась угадать, что я хочу, я хотел бы иметь согласованное поведение независимо от того, где выполнялся код.
Показать ещё 2 комментария
Теги:
visual-studio
console

3 ответа

0

Причина, по которой он автоматически закрывается, заключается в том, что она запускала программу. Если вы хотите посмотреть, что он сделал, сделайте для него нужную команду, например, нажав любую клавишу. Console.ReadKey(); приостанавливает его и ждет, пока пользователь ударит ключ, чтобы продолжить. Поместите эту команду после команд инструкции, которые вы делаете, и она приостанавливает ее, пока вы не нажмете любую клавишу.

Console.ReadKey(); // Пауза, пока вы не нажмете любую клавишу

0

Некоторые параметры: 1. wrap #if DEBUG вокруг Console.ReadKey() 2. запускается непосредственно из открытого терминала 3. создайте тестовый проект, но вам снова понадобится Console.ReadKey(), чтобы остановить его закрытие.

0

Вы также можете запустить свою программу, нажав F10 (выполняется одна строка за одной), а F11 (входит в функцию).

Другой вариант, который у вас есть, - установить контрольные точки в Visual Studion и запустить программу, нажав F5 - она остановится на следующей точке останова. А точки останова могут иметь условия - то есть условные точки останова.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню