VisualStudio: нет вывода отладки - PullRequest
24 голосов
/ 01 июня 2009

Я пытаюсь отладить приложение на C #. Метод:

System.Diagnostics.Debug.WriteLine("something");

должен выполнить эту работу, но в окне «Вывод» (с настройкой «отладка» и всеми активированными параметрами) я не вижу ни одной строки, которую пытаюсь написать. Любая идея? Спасибо

EDIT: Я использую VS2008

Ответы [ 11 ]

30 голосов
/ 01 июня 2009

Существует опция в Tools-Options-Debugging-General, перенаправить весь текст окна вывода в окно Immediate. Убедитесь, что это отключено. Однако по умолчанию это не так, поэтому я сомневаюсь, что это ваша проблема. Вы также можете просто проверить свое «Немедленное окно» и посмотреть, выводится ли оно там.

Вы также можете попробовать сбросить все настройки среды. (Инструменты - Импорт и экспорт настроек - Сброс всех настроек.)

25 голосов
/ 08 апреля 2010

Также стоит проверить - щелкните правой кнопкой мыши в окне вывода и убедитесь, что «Вывод программы» отмечен.

11 голосов
/ 01 июня 2009

Вы проверили, чтобы убедиться, что вы собираете в режиме отладки? Если вы скомпилируете в режиме Retail / Release, вы увидите это поведение.

Вы должны увидеть эту информацию на панели инструментов Visual Studio. Появится поле со списком «Выпуск» или «Отладка». Если написано Release, переключите его на Debug.

В некоторых настройках профиля это поле со списком не будет отображаться по умолчанию. Вы должны получить доступ к нему через страницу свойств проекта. Это будет на вкладке build / compile.

6 голосов
/ 01 июня 2009

Помимо предложений, приведенных выше, посмотрите на свойства проекта, щелкнув правой кнопкой мыши имя проекта и выбрав Свойства . Как только вы это сделаете, нажмите на вкладку Build , а затем кнопку Advanced в правом нижнем углу. Как только у вас откроется окно Advanced , посмотрите на секцию Output и настройку Debug Info: . Когда вы находитесь в режиме отладки, это должно быть установлено на full .

4 голосов
/ 01 июня 2009

Кроме того, убедитесь, что в окне «Вывод» установлено отображение «Отладка», а не что-то вроде вывода «Сборка».

Вы должны увидеть загрузку всех необходимых сборок в выводе «Debug».

2 голосов
/ 19 мая 2016

У меня была та же проблема, я получил отладку, выбрав:

Отладка -> Windows -> Вывод

Тем не менее, мой вывод все еще отображается, поэтому я думаю, vs будет скрывать Debug до тех пор, пока не будут записаны реальные данные.

2 голосов
/ 01 июня 2009

Вам необходимо явно добавить системный Console как TraceListener, чтобы вывод отображался в консоли. Согласно документации Microsoft , этот код должен справиться с задачей. Это код C #, но приведенная мною ссылка содержит примеры для других языков .NET.

using System;
using System.Data;
using System.Diagnostics;

class Test
{
    static void Main()
    {
       Debug.Listeners.Add(new TextWriterTraceListener(Console.Out));
       Debug.AutoFlush = true;
       Debug.Indent();
       Debug.WriteLine("Entering Main");
       Console.WriteLine("Hello World.");
       Debug.WriteLine("Exiting Main"); 
       Debug.Unindent();
    }
}
1 голос
/ 28 июня 2013

«Включить процесс размещения Visual Studio» в свойствах проекта -> Отладка решила проблему для меня.

0 голосов
/ 30 января 2019

В моем проекте в Visual Studio 2017 выходные данные отображаются в Немедленное окно

0 голосов
/ 29 июня 2017

Я только что столкнулся с этой проблемой в Visual Studio 2010 и 2017, и это то, что я сделал, чтобы заставить его работать, и у меня нет объяснения, почему он теперь работает.

Что я сделал, чтобы заставить это работать. Я создал новый проект Windows Form и добавил кнопку, которая при нажатии выполняла Console.WriteLine («Test»). Я видел «Тест» в окне вывода. Затем я загрузил свой реальный проект и добавил кнопку для запуска Console.WriteLine («Test»), и теперь он выдает результат. Дальнейшие операторы Console.WriteLine работали с тех пор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...