Я могу произвести сообщения Трассировки к отдельному окну в Визуальном Экспрессе 2008 года C#?

Консоль, Отладка и Трассировка обмениваются сообщениями, все, кажется, отображены в окне "Output", которое прекрасно в большинстве случаев, но я хотел бы отобразить свои сообщения Трассировки отдельно (таким образом, они не чередованы со всем остальным). Там какой-либо путь состоит в том, чтобы сделать это, не пишущий в файл/журнал?

10
задан Mark Carpenter 24 March 2010 в 12:57
поделиться

2 ответа

Конечно, по умолчанию трассировка пишет в окно Output, используя DefaultTraceListener, который является реализацией класса TraceListener.

Для записи в отдельный вывод вам нужно будет либо использовать один из предварительно предоставленных альтернативных TraceListener, либо реализовать свой собственный (обрабатывающий, как минимум, Write() и WriteLine(); затем зарегистрируйте свой слушатель в конфигурационном файле.

5
ответ дан 4 December 2019 в 02:50
поделиться

В VS есть только одна опция для вывода в другое окно: Инструменты + Параметры, Отладчик, Общие, «Перенаправить весь текст окна вывода в окно Immediate Window». Однако это вряд ли сделает то, что вы хотите.

Нет хороших вариантов для вывода в окно VS. Единственный механизм - это функция API Windows OutputDebugString (), которая позволяет отладчику видеть сообщения. Это уже используется DefaultTraceListener. Процесс размещения Visual Studio поддерживает перенаправление вывода Console.Write / Line () в окно вывода. Механизм, с помощью которого он работает, мне неясен, кроме того, что процесс хостинга представляет собой настраиваемую размещенную версию CLR. Не то, что вы хотели бы решать, если предположить, что это даже возможно заменить.

Безусловно, наиболее практичный подход - просто создать собственное окно для вывода результатов трассировки с использованием собственного прослушивателя трассировки. Достаточно просто сделать с классом формы Windows Forms, который содержит многострочный TextBox. Насколько это практично, зависит от характера вашего основного EXE. Или проследите до файла и используйте программу просмотра файлов, которая достаточно умна, чтобы видеть обновления файла. Пользуюсь Far.

О, еще есть утилита SysInternals DebugView . Он отслеживает текст OutputDebugString ().

2
ответ дан 4 December 2019 в 02:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: