Диагностика работы приложения

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

О чем буду писать:
Logging and Tracing (Логирование и Трассировка)
Application Profiling (Профилирование приложений)
Performance Counters (Счетчик производительности)

И поехали…

При разработке ПО довольно частно нужно отслеживать состояние переменных и работу программы по шагам, для этого в Visual Studio встроен мощный отладчик, который много чего может, однако, не все программы можно пропускать через отладчик, а желание отслеживать действия есть всегда, для этого в пространстве имен System. Diagnostics есть классы Debug и Trace.

С помощью этих классов можно просматривать состояние переменных, пример,
int n1 = 123;
int n2 = 0;
Debug.Writeline(n1);

Далее, устанавливаем точку «Останова» и запускаем приложение, на вкладке «OUTPUT» появляется значения переменной.
Примечание: Класс Debug отрабатывается только если компиляция происходит в режиме «Debug».
У класса Trace более широкий спектр параметров, например, сообщения из Trace могут выводится у пользователя в отдельный файл, путь к которому может быть прописан в конфигурационном файле приложения.

Также еще можно отметить, такой параметр этих классов как Assert, он может выкидывать exception, если условие указанное в скобках возвращает false, пример,
int n1 = 123;
int n2 = 0;
Debug.Assert(n1<100);

Логирование(Журналирование)
Логирование может производиться в
Журнал Windows(Windows EventLog).
Текстовый файл
БД

В пространстве имен System. Diagnostics есть класс EventLog с помощью которого можно выводить в системный журнал Windows сообщения. Пример,
string eventLog = «Application»;
string eventSource = «Logging Demo»;
string eventMessage = «Hello from the Logging Demo application»;
if(!EventLog.SourceExists(eventSource))
EventLog.CreateEventSource(eventSource,eventLog);
EventLog.WriteEntry(eventSource, eventMessage);

Профилировщик

Профилирование — это оптимизация ваших приложений.
Для того чтобы замерить сколько потребляет ваша программа оперативной памяти или ЦП, нужно зайти пункт меню «Анализ»(ANALYZE) и запустить профилировщик производительности, далее, выбрать тестируемый инструмент (использование памяти, использование ЦП и т.д.).

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *