Возможно ли на C# увидеть следы на отдельной консоли. Например, у меня есть приложение на основе окон, в котором есть инструкции trace, которые будут записывать текущее имя метода в консоль. Когда я запускаю это приложение, он должен автоматически открывать консоль и запускать трассировки. Это возможно?Как увидеть трассировку в отдельной консоли
ответ
Если вы установите тип проекта вашего оконного приложения на Консоль, он откроет окно консоли при его запуске.
Я думаю, что вы ищете класс TraceListener. (another link)
В .NET вы используете TraceListener для прослушивания собственного сообщения трассировки. А затем вы можете распечатать их в форме с текстовым полем или консольным окном.
Слушатели также могут быть настроены с помощью app.config, если моя память служит мне правильной. Это значит, что вы можете отлаживать развернутые приложения.
Но если я использую ConsoleTracer для приложения Window, эффекта не будет, пока я не сделаю то, что сказал мне Джон, правильно? –
Вам это нужно только в окне консоли? Пользовательское окно не будет делать? – chakrit
Хм. Я хочу иметь эти следы на консоли. Я думаю, что будет лучше, если возможно –
Вы можете создать окно консоли, вызывая API AllocConsole Win32 через P/Invoke.
Я бы рекомендовал dbgview.exe от Sysinternals. Он позволяет записывать вывод трассировки и сохранять его в файл (среди других функций).
Вы можете получить его от http://live.sysinternals.com
Но это может быть настроен во время выполнения. Я имею в виду, есть ли у меня возможность запустить приложение с некоторыми отладочными коммутаторами (скажем, Foo.exe -debug что-то вроде этого), чтобы он открыл новое окно терминала, которое может отслеживать сообщения журнала? –