
Слепые зоны отладки в VS Code
8 февраля 2023 г.В первой главе моей книги по отладке я обсуждаю отладку IDE. В этой главе я в основном говорю об IntelliJ/IDEA. Меня часто спрашивают, почему я так мало написал о VS Code… Причина в том, что писать особо не о чем. Его отладчик проще в лучшую и в худшую сторону. Он не такой мощный, как другие IDE. Я создал следующее видео, которое охватывает содержание этого поста:
https://www.youtube.com/watch?v=OBgLeRwjlAc&embedable=true а>
Это не критика VS Code или Microsoft. Visual Studio имеет один из самых мощных отладчиков. Но Visual Studio Code не имеет многих функций Visual Studio или других IDE. Я считаю, что это сделано намеренно. Я думаю, что это решение, основанное на пользовательском опыте, в котором они удалили функции, чтобы упростить использование. Одна вещь, которую VS Code преуспел, — это раскрытие функции logpoint (tracepoint), поэтому ее легче обнаружить случайному разработчику. Это здорово, и было бы непрактично, если бы в среде IDE были все важные функции.
Но за простоту приходится платить. Как видно из следующей таблицы, в IntelliJ доступно множество отсутствующих функций. Все эти функции я описал в сообщениях блога или видео. Обратите внимание, что ссылки на видео в следующей таблице являются прямыми ссылками на определенное время в видео.
Недостающие функции
Ниже приводится общий обзор отсутствующих функций.
Управление потоком
Немедленный возврат позволяет сразу вернуться из метода и потенциально вернуть произвольное значение. Это замечательно, когда вы хотите протестировать пограничные случаи.
Существуют также функции пропуска кадров и выдачи исключений.
Справедливости ради следует отметить, что в VS Code есть «кадр перезапуска», который похож на «кадр пропуска» и тоже хорош.
ДляПерейти к строке требуется подключаемый модуль для IntelliJ. Это позволяет нам перетаскивать указатель выполнения в произвольное место. Если у вас есть ошибка, просто перетащите выполнение назад и повторите попытку.
Вам нужно пропустить строку кода, потому что ваше приложение находится в проблемном состоянии, но вы все еще хотите выполнить отладку?
Перетащите вперед. Это фантастическая убойная функция, когда она вам нужна.
Область просмотра
Обе IDE содержат часы, но только IntelliJ может отображать значения переменных часов прямо в редакторе. себя. Это очень удобно при просмотре нескольких значений. Это позволяет нам сразу увидеть стек при прокрутке кода.
маркировка объектов — одна из моих любимых непонятных функций. Это позволяет нам динамически объявлять глобальную переменную, которая помогает нам отслеживать значение. Мы можем использовать эту глобальную переменную в условной точке останова для проверки. Одним из таких примеров является сохранение текущего потока как помеченного объекта, а затем прерывание только в том случае, если мы вызовем метод с другим потоком.
Точки останова
Точки останова метода довольно проблематичны, но они имеют некоторые преимущества. Одним из больших преимуществ является возможность прерывания при возврате из длинного метода. Это полезно при отслеживании проблем с потоками.
Полевые точки наблюдения очень полезны при отслеживании изменений полей и новых значений.
Мы можем управлять точками останова, именами, группами и отключать их как иерархическую группу. При работе с несколькими задачами и переключении ветвей в середине сеанса отладки мы можем приостановить этот сеанс, сгруппировав все точки останова вместе.
Когда мы возвращаемся к задаче, мы можем мгновенно вернуться обратно!
В VS Code есть точки останова исключений. Но без фильтров - полный отстой!
Мы можем фильтровать попадания точки останова на основе нескольких критериев, таких как экземпляр, курс или конкретный метод в стеке. Я провел так много времени, нажимая «Продолжить» снова и снова. Мы можем уменьшить эту боль с помощью этих инструментов.
Массивы, коллекции и потоки
Есть еще один впечатляющий тип фильтрации. Мы можем фильтровать содержимое массива или коллекции прямо в области наблюдения или оценки. Я провел много времени, копаясь в массивах данных изображений с тысячами элементов. Это был кошмар. Благодаря этому мы можем мгновенно найти нужные элементы в коллекции или массиве!
Речь идет о потоковом API Java 8 и более новых версиях, который представляет собой конструкцию функционального программирования. Это фантастический инструмент, но он затрудняет отладку. потоковый отладчик заимствует концепции из отладчиков путешествий во времени, что иногда упрощает потоковую отладку по сравнению с обычной отладкой.< /p>
Отрисовка записи
Это одна из самых замечательных функций, которые только можно себе представить. Мы можем полностью настроить внешний вид записей на часах. В этой демонстрации я показываю, как отображать содержимое объекта объектно-реляционного сопоставления при переходе в отладчике.
Но это сложно настроить каждый раз для каждого случая. Аннотации позволяют нам настроить это глобально, чтобы мы могли видеть это каждый раз для определенных объектов библиотеки при запуске в отладчик.
Потоковая и асинхронная отладка
VS Code отображает потоки, но имеет очень ограниченные функциональные возможности отображения и возможности настройки. IntelliJ может открывать представление отдельного потока, иерархии и многое другое.
Он также поддерживает склеивание асинхронных трассировок стека, чтобы упростить отладку асинхронного кода. Это без проблем работает с известными API, и действительно здорово, что мы можем использовать аннотации, чтобы добавить это в наши пользовательские API.
Память
Мы можем выполнить поиск в памяти, чтобы найти любой экземпляр объекта. Мы можем находить внутренние экземпляры ВМ и исследовать проблемы, просматривая объекты в системе.
Еще лучше. Мы можем отследить каждый новый экземпляр определенного класса. Получите полную трассировку стека для каждого нового экземпляра, созданного между одной точкой останова и другой. Это позволяет с хирургической точностью отслеживать, что происходило под капотом.
Наконец-то
Многого я не упомянул, потому что их слишком много. Я не думаю, что VS Code изначально плох. Это просто пошло на простоту. Лично я считаю себя опытным пользователем. Если вы похожи на меня, я надеюсь, что этот пост дал вам представление о том, чего вам не хватает.
Пожалуйста, ознакомьтесь с моей книгой, моим курсом и подпишитесь на меня, чтобы смотреть видео, подобные встроенному выше.
Оригинал
Recent Post
-
Главный бюллетень Hackernoon: стресс -тестирование рынка Ethereum LSD (8/8/2025)
9 июля 2025 г. -
Все, от ошибок новичка до новой функции: самая дикая неделя моего страсти проекта
8 июля 2025 г. -
Процесс отладки: отслеживание, командное общение и баланс между модульными и интеграционными тестами
19 сентября 2023 г. -
Golang: отладка приложений CLI в VSCode
15 июня 2023 г. -
Как найти вонючие части вашего кода [Часть XXXVIII]
5 июня 2023 г.
Categories
- Python
- blockchain
- web
- hackernoon
- вычисления
- вычислительные компоненты
- цифровой дом
- игры
- аудио
- домашний кинотеатр
- Интернет
- Мобильные вычисления
- сеть
- фотосъемка видео
- портативные устройства
- программного обеспечения
- телефон и связь
- телевидение
- видео
- мир технологий
- умные гиды
- облако
- искусственный интеллект
- се
- Samsung
- умные города
- digitaltrends
- отели
- Startups
- Venture
- Crypto
- Apps
- безопасность
- техника и работа
- cxo
- мобильность
- разработчик
- 5г
- майкрософт
- инновации
- Права и свободы
- Законодательство и право
- Политика и общество
- Космическая промышленность
- Информационные технологии
- Технологии
- Образование
- Научные исследования
- Автомобильная промышленность
- Программная инженерия
- IT и технологии
- Веб-разработка
- Программирование
- Автоматизация
- Карьерный рост
- Программирование и анализ данных
- Трудоустройство
- Политика
- Искусственный интеллект
- ИТ-технологии
- Программное обеспечение
- Экологическая политика
- Образование и рынок труда
- Политика и право
- Microsoft Teams и SharePoint
- Информационная безопасность
- Кибербезопасность
- Налоги
- Образование и карьера
- Интернет и технологии
- Технологии, Государственные услуги
- Политика и технологии
- Разработка программного обеспечения
- Разработка ПО
- Машинное обучение
- Налогообложение, технологии, открытый исходный код
- Финансы и налоги
- Технологии, Интернет, Экология
- Интернет, безопасность
- Технологии и политика
- Операционные системы
- Профессиональная разработка
- Технологии, Безопасность
- Интернет и общество
- Финансовая индустрия
- Налоговый учёт
- Общественное здравоохранение
- Технологическая отрасль
- Юриспруденция
- Технологии и государство
- Здоровье и фитнес
- IT-инфраструктура
- Технологии и ИИ
- Здравоохранение
- IT
- Технологии, Экономика
- Музыка и технологии
- Здоровье и питание
- IT и безопасность
- Бизнес и предпринимательство
- Технологии, Программное обеспечение
- Технологии и инновации
- Технологии, данные, этика
- Технологии и Интернет
- Технологии и SaaS
- Медицина и здравоохранение
- Онлайн-видеосервисы
- Финансы и технологии
- Чтение и саморазвитие
- Экономика и бизнес
- Безопасность данных
- Удаленная работа
- Авиация и технологии
- Технологии, Игры
- Энергетика
- Социальные сети, безопасность, технологии
- Саморазвитие
- Безопасность информации
- Бизнес и карьера
- Технологии и отношения
- Игровая индустрия
- Компьютерная индустрия
- Математика, Искусственный интеллект
- Наука и технологии
- Технологии и безопасность
- Технологии, Удаленная работа, Бизнес
- Видеоигры
- Технологии, Искусственный интеллект, Этика
- Технологии, социальные сети, 6G
- Технологии, Программирование, AI, Разработка ПО
- Программирование, Разработка ПО, Технологии
- Животные
- Технологии, Искусственный интеллект
- Программирование, карьера, технологии, обучение
- Бизнес и технологии
- Технологии, Безопасность данных
- Астрономия и физика
- Продуктивность, личное развитие
- Медиа и Технологии
- Программирование и Искусственный Интеллект
- Социальные сети
- Политика и экономика
- Технологии, Медицина, Искусственный интеллект
- Технологии и управление
- Космос и астрономия
- Общество и политика
- Космические исследования
- Веб-дизайн
- Искусственный интеллект и безопасность данных
- Технологии, Безопасность, Конфиденциальность
- Экологическая проблема
- Технологии, Погода
- Авиация
- Транспортная сфера
- Технологии и бизнес
- Игровая промышленность
- Телевидение и реклама
- Аналитика данных
- Технологии и кибербезопасность
- Маркетинг
- Технологии и гаджеты
- Технологии, Авиация, Инновации
- Финансы и инвестиции
- Технологии и общество
- Рыночный анализ
- Космология
- Данные и бизнес
- IT и программирование
- Технологии и право
- Программирование и разработка
- Астрофизика
- Медицинские технологии
- Авиационная промышленность
- Технологии и искусственный интеллект
- Генетическая инженерия
- Бизнес и инвестиции
- Компьютерная промышленность
- Психология и социология
- Образование и технологии
- Рынок труда
- Технологии, Стартапы
- Технологии, Приватность, Чтение
- Маркетинг и продажи
- Виртуальная реальность
- Технологии, Смартфоны, Маркетинг
- Технологии, Бизнес, Личностный рост
- Экологические проблемы
- Экономика и технологии
- IT и карьера
- Интернет и безопасность
- Разработка и технологии
- Биотехнологии
- Интернет-магазины, кибербезопасность
- Финансы
- Безопасность и технологии
- Экономика
- Защита данных
- Data Science
- Карьера и работа
- Финансовый успех, мошенничество, маркетинг
- Безопасность
- Экология
- Космическая индустрия
- Программирование, Python, Обучение
- Технологии искусственного интеллекта
- Технологии, Дизайн, iOS
- Программирование, DevOps, Kubernetes
- Социальные сети и пропаганда
- Корпоративная этика
- Управление IT-инфраструктурой
- Здоровье и медицина
- Медицина
- Медицинская промышленность
- Разработка и дизайн
- Искусственный интеллект, Диагностика систем
- Образование и психология
- Технологии, Автомобильная промышленность
- Автомобили и путешествия
- Астрономия и космология
- Программирование и технологии
- IT, работа в офисе, эмоциональный интеллект
- Компьютерная техника
- Здоровье и благополучие
- Управление персоналом
- Политика и управление
- Бизнес и экономика
- Социальные сети, Пропаганда, Информационная безопасность
- Технологии и автоматизация
- Геймдизайн
- Экология и технологии
- CRM-системы, IT-инфраструктура
- Права человека
- Цифровая цензура, свобода слова, технологии
- Технологии, Искусственный интеллект, Работа
- Наука о данных
- Астрономия, Наука
- Интернет и цифровые технологии
- Технологии, управление
- Интернет и связь
- Технологии и конфиденциальность
- Интернет и свобода слова
- Психология и социальные науки
- Книги и литература
- Работа и карьера
- Финансовые технологии
- Психология и саморазвитие
- IT, программирование, сети
- Технологии, Видеоигры
- Экология и энергетика
- Космонавтика
- Медицина и технологии
- Игры и развлечения
- Музыкальная индустрия
- Логистика и складирование
- Бизнес и финансы
- Экология и окружающая среда
- Правозащита
- Социальные сети и дезинформация
- Технологии и рынок труда
- Технологии, Искусственный интеллект, Рынок труда
- Технологии и будущее
- Медицина и здоровье
- Социальные медиа
- Экология, политика, общество
- Экономика и Финансы
- Разработка игр
- Пропаганда и дезинформация
- Медицинские исследования
- Онлайн-знакомства
- Политика и СМИ
- Энергетика и электромобили
- Климатические изменения
- Технологии, Рынок труда
- IT и управление данными
- Безопасность и кибербезопасность
- Интернет-технологии
- Психология и личностное развитие
- Технологии, Мессенджеры
- Цифровые технологии
- Здоровье и самосовершенствование
- Технологии и AI
- Технологии и спорт
- IT, Разработка программного обеспечения
- Экология и климат
- Космос и технологии
- Юридическая сфера
- Безопасность в интернете
- Программирование, Искусственный Интеллект, Качество ПО
- Технологии и мессенджеры
- Социальная справедливость
- Технологическая индустрия
- Личностное развитие, Time-менеджмент, Психология
- Бизнес и менеджмент
- Технологии, Микросхемы, Автономные системы
- Фриланс и предпринимательство
- Социальные сети и искусственный интеллект
- Криминальные дела
- Социальные сети, Маркетинг
- Энергетика и экология
- Технологии, Искусственный Интеллект, Полиция
- Программирование, Искусственный интеллект, Рынок труда
- Социальные сети, дезинформация, анализ данных
- Потребительские права
- Образование и наука
- Технологии и правосудие
- Технологии, Безопасность, Автомобили
- Энергетика и окружающая среда
- Личностное развитие
- Технологии и экономика
- Медиа и коммуникации
- Миграция и иммиграция
- Личностный рост
- Налоговая система
- Медиа и телевидение
- Интернет и телекоммуникации
- Технологии, Кибербезопасность
- Здоровье
- Социальные сети и карьера
- Политика и инфраструктура
- Предпринимательство
- Промышленность программного обеспечения
- СМИ и коммуникации
- Медиа и Общество
- Медицина и генетика
- Веб-разработка и дизайн
- Технологии, процессоры
- IT-индустрия
- Кинопроизводство и технологии
- Транспорт
- Текстовый анализ
- Технологии, дизайн интерфейсов
- Офисные приложения
- Технологии, Онлайн-сервисы
- Медицина и биотехнологии
- Общество и технологии
- Экономика и рынок труда
- Искусственный интеллект, программирование, аналитика
- Технологии, следствие
- Сетевые технологии
- Технологии и веб-разработка
- Программирование, Обучение, Практика
- Коммуникации и ИТ
- Технологии, Карьера, Экономика
- Технологии и транспорт
- Здравоохранение и медицина
- Технологии, Государственное управление
- IT-безопасность
- IT и разработка
- Финансы и экономика
- Социальные сети, Общество, Сообщества
- IT-разработка
- СМИ и политика
- Конфиденциальность и безопасность
- Экономика и политика
- Технологии и общественная жизнь
- Бизнес и этика
- Безопасность и защита информации
- Технологии, бизнес
- Интернет и цензура
- Государственное регулирование
- Игры, Технологии
- Технологии и оптимизация
- Технологии ИИ и машинного обучения
- Технологии, IT, карьера
- IT и программное обеспечение
- Право и преступность
- Криминал и Правоохранительные Органы
- Технологии и энергетика
- Нефтяная промышленность
- Социальные конфликты
- Преступность и безопасность
- Таможенная очистка
- Медиа и журналистика
- Технологии и разработка приложений
- Телекоммуникации
- Консалтинг и управление
- Управление человеческими ресурсами
- Онлайн-контент
- Психология и психотерапия
- Морская отрасль
- Психология и технологии
- Социальные проблемы
- Маркетинг и реклама
- Политика и власть
- Экономика и торговля
- Карьера и развитие
- Продуктивность и Управление Временем
- Технологии, Искусственный интеллект, Реклама
- Окружающая среда
- Здоровье и технологии
- Бытовая химия
- Правовая информация
- Юстиция
- Технологии и экология
- Социальные сети и безопасность
- Базы данных
- Политика и государственное управление
- Интернет и социальные сети
- Индустрия IT
- Технологии и программное обеспечение
- История и искусственный интеллект
- Рестораны и обслуживание
- Технологии и программирование
- Социология
- Телевидение и СМИ
- Психология
- Политика и бизнес
- Мобильные устройства
- Технологии и развлечения
- Экология и охрана окружающей среды
- Маркетинг и брендинг
- Медицинская индустрия
- Кибербезопасность и технологии
- Социальные сети и политика
- Развлечения
- ИТ и автоматизация
- Криптовалюты и блокчейн
- История и идеология
- Медицина и политика
- Личная жизнь миллиардеров
- Образование и Политика
- Туризм и отдых
- Психология и искусственный интеллект
- Удаленная работа и производительность
- Выживание
- Управление командами
- Разработка
- Международная торговля
- Корпоративная ответственность
- Социальные сети и общество
- Управление серверами
- Индустрия компьютерных игр
- Политика и климат
- Онлайн-игры
- Медицинская отрасль
- Искусственный интеллект и технологии
- Религия и мораль
- Путешествия
- Социальные сети и информация
- Технологии и медиа
- Технологии и свобода
- Электронная коммерция
- Бизнес и управление
- Психическое здоровье и технологии
- Технологии и устойчивое развитие
- Технологии и социальные сети
- Профессии
- Экономика и промышленность
- Технологии и трудоустройство
- Иммиграционная политика
- Продуктивность и фокус
- Технологии и робототехника
- Свобода слова
- Психология и власть
- Социальные сети и онлайн-платформы
- Технологии и Права Человека
- СМИ и журналистика
- Окружающая среда и здоровье
- Технологии и сервисы
- Индустрия игр
- Программирование и ИИ
- Медиа и пропаганда
- Социальная сфера
- Социальные сети и общественное мнение
- Поп-культура
- Сервисы потокового вещания
- Рынок развлечений
- Социальные медиа и политика
- Технологии и информация
- Медиа и развлечения
- Квантовая криптография
- Искусственный интеллект в индустрии развлечений
- Технологии и коммуникация
- Индустрия программирования
- Финансовая безопасность
- Международные отношения
- Бизнес и лидерство
- Технологические новости и аналитика
- Программное обеспечение и технологии
- Предпринимательство и малый бизнес
- Политика и общественный контроль
- Здравоохранение и политика
- Управление персоналом и эффективность разработки
- Технологии и ИТ‑управление
- Свобода слова и дезинформация
- Веб-дизайн и разработка
- Веб‑разработка и карьера
- Культура и общество
- Цифровые права и свобода слова
- Безопасность и искусственный интеллект
- Технологии и искусство
- Мобильные приложения
- Продуктивность
- Космические технологии и безопасность
- Технологические тренды и экономика
- Безопасность и конфиденциальность
- Продуктивность и личная эффективность
- Веб‑скрейпинг и автоматизация
- Политика и социальные сети
- Политика и безопасность
- Медиа и информационное пространство
- Медицина и Психология
- Интернет‑культура и медиа
- Технологии и разработка
- Сociety
- Развитие интеллекта и профессиональные навыки
- Linux, программирование