TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.74K subscribers
Post #1723 1.44K
День 1392. #TipsAndTricks
Советы и Инструменты Отладки. Начало
В этой серии постов приведу несколько советов и инструментов, которые помогут отлаживать приложения .NET. Список не исчерпывающий, здесь только некоторые варианты.

Коротко случайные советы
- Поговорите с резиновой уточкой.
- Прогуляйтесь, поспите, поиграйте в игру и т.д., а потом вернитесь к своему коду на свежую голову.
- Внимательно прочитайте документацию.
- Прежде чем изменять код, убедитесь, что вы понимаете, почему он ведёт себя не так, как вы ожидаете.
- Напишите тест, который воспроизводит ошибку, чтобы вы могли быстро исправить её.
- Удалите/закомментируйте весь код, который не нужен для воспроизведения ошибки. В итоге у вас должен получиться небольшой фрагмент кода, воспроизводящий ошибку (используйте систему контроля версий, чтобы вы всегда могли вернуться к исходному коду).
- Можно сделать наоборот: создать новое приложение и постепенно добавлять код, пока ошибка не появится.
- Время, потраченное на использование отладчика, едва ли ускорит решение последующих задач. А вот улучшение логирования и сообщений об ошибках поможет. Это может сэкономить вам или вашим коллегам время в будущем.

А теперь более подробные советы.

1. Код выполняется?
Если нет уверенности, что код действительно выполняется, добавьте throw или Console.Write в код. Да, звучит банально, но отладочный вывод в некоторых случаях сделать проще всего. Для надёжности можно обернуть этот код в директивы препроцессора:
public void MethodToDebug()
{
#if DEBUG
Console.WriteLine("Debugging");
throw new Exception("Debugging");
#endif
//…
}

2. Запуск отладчика из кода
Если вы не можете запустить процесс в режиме отладки и не можете найти способ присоединить отладчик к существующему процессу, вы можете использовать System.Diagnostics.Debugger.Launch() или System.Diagnostics.Debugger.Break(); там, где вы хотите установить точку останова. См. подробнее об их использовании.

В Windows отладку процесса можно начать из Диспетчера Задач. Нажмите правой кнопкой мыши на нужный процесс и выберите Debug (Отладка).

3. Отладка более чем одного процесса за раз
Visual Studio может отлаживать несколько процессов одновременно. Например, вы можете одновременно отлаживать веб-приложение и консольное приложение. Для этого перейдите в Debug > Set Startup Projects… (Отладка > Установить стартовые проекты) и установите на запуск несколько проектов. Кроме того, в меню Debug > Attach to Process… (Отладка > Прикрепить к процессу…) можно выбрать несколько процессов.

4. Наблюдение за значением переменной без отладчика
Если вы не можете подключить отладчик, вы можете регистрировать значения с помощью Console.WriteLine(), File.WriteAllText() или Logger.LogDebug() для вывода значений, которые вы хотите наблюдать.

Продолжение следует…

Источник:
https://www.meziantou.net/debugging-tips-and-tools.htm
  • 👍 13
More from @netdeveloperdiary
  1. Sep 26, 2026День 2796. #ЗаметкиНаПолях #AI Рабочий процесс с Copilot для .NET. Продолжение Начало Три…
  2. Sep 25, 2026День 2795. #ЗаметкиНаПолях #AI Рабочий процесс с Copilot для .NET. Начало Проблема с позиц…
  3. Sep 24, 2026День 2794. #Оффтоп #Здоровье Сегодня будет необычный пост. Завтра в Москве стартует конфер…
  4. Sep 23, 2026День 2793. #ЗаметкиНаПолях #SQL 10 Редких Возможностей SQL, Которые Стоит Знать Каждому. Ч…
  5. Sep 22, 2026День 2792. #ЗаметкиНаПолях #SQL 10 Редких Возможностей SQL, Которые Стоит Знать Каждому. Ч…
  6. Sep 21, 2026🔍Тестовое собеседование с Senior C# разработчиком уже завтра 22 сентября(уже завтра!) в 1…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →