Debugging in Visual Studio Code

Add a new configuration

Используйте один из приведенных ниже методов, чтобы добавить новую конфигурацию в существующий файл launch.json:

  • Используйте IntelliSense, если курсор находится внутри матрицы конфигурации.
  • Нажмите кнопку Добавить конфигурацию, чтобы вызвать фрагмент IntelliSense в верхней части матрицы.
  • Выберите опцию Add Configuration в меню Run.

Для запуска нескольких конфигураций одновременно VS Code также поддерживает составные конфигурации запуска; более подробную информацию см. в этом разделе.

Используя выпадающий список Configuration в представлении Run and Debug, сначала выберите конфигурацию под названием Launch Program перед началом сеанса отладки. Когда конфигурация запуска будет готова, нажмите F5, чтобы начать сеанс отладки.

В качестве альтернативы можно выполнить фильтрацию по Отладке: Выберите и начните отладку или введите “debug” и выберите конфигурацию, которую вы хотите отладить, из палитры команд (P (Windows, Linux Ctrl Shift P)).

Строка состояния меняет цвет (на оранжевый для цветовых тем по умолчанию), как только начинается сеанс отладки, появляется панель DEBUG CONSOLE и отображает вывод отладки:

Atom отсутствует

Если при попытке загрузить файл DEBUG вы столкнулись с сообщением типа “Невозможно открыть”, скорее всего, Atom не установлен в вашей операционной системе. Из-за этого вы не сможете дважды щелкнуть файл, чтобы открыть его. ОС все еще учится обрабатывать его и сканировать.

Automatically open a uri when debugging a server program

При разработке веб-программы обычно требуется открыть определенный URL-адрес в веб-браузере, чтобы получить доступ к серверному коду в отладчике. Чтобы автоматизировать этот процесс, в VS Code есть встроенная функция под названием “serverReadyAction”.

Вот пример простого приложения Node.js Express:

varexpress = require('express');varapp = express();app.get('/', function(req, res) {res.send('Hello World!');});app.listen(3000, function() {console.log('Example app listening on port 3000!');});

Breakpoints

Щелчком мыши по полю редактора или нажатием F9 на текущей строке можно переключать точки останова.

  • Точки останова в поле редактора обычно представлены заполненными красными кругами.
  • Отключенные точки останова имеют серый заполненный круг.
  • Когда начинается сеанс отладки, точки останова, которые нельзя сохранить с помощью отладчика, превращаются в полый серый круг. То же самое может произойти, если вы измените исходный код во время сеанса отладки без поддержки редактирования в реальном времени.

Представление BREAKPOINTS также отображает различные типы ошибок или исключений, на которые отладчик поддерживает прерывание.

Команда Reapply All Breakpoints возвращает все точки останова в исходное положение. Если ваша среда отладки “ленива” и “неправильно” расставляет точки останова в исходном коде, который еще не был выполнен, это будет полезно.

Optionally, breakpoints can be shown in the editor’s overview ruler by enabling the setting debug.showBreakpointsInOverviewRuler:

Compound launch configurations

Использование составной конфигурации запуска – это альтернативный метод запуска нескольких сеансов отладки. Имена двух или более конфигураций запуска, которые должны быть запущены одновременно, перечислены в составной конфигурации запуска. Можно указать необязательную задачу preLaunchTask, которая выполняется перед запуском каждого отдельного сеанса отладки.

Data breakpoints

Точки останова данных, если они поддерживаются отладчиком, могут быть установлены из представления VARIABLES и срабатывают всякий раз, когда значение базовой переменной изменяется. В разделе BREAKPOINTS точки останова данных отображаются в виде красных шестиугольников.

Data inspection

Переменные можно просмотреть, наведя курсор на их источник в редакторе или в разделе VARIABLES представления Run and Debug. Значения переменных и оценка выражений в разделе CALL STACK связаны с выбранным стековым кадром.

С помощью действия Set Value, расположенного в контекстном меню переменной, можно изменить значения переменной. Кроме того, вы можете получить доступ к переменной с помощью действия Copy Value для копирования ее значения или Copy as Expression для копирования выражения.

Раздел WATCH представления Run and Debug также позволяет оценивать и контролировать переменные и выражения.

Когда внимание сосредоточено на разделе VARIABLES, типизация может быть использована для фильтрации имен и значений переменных.

Debug actions

Панель инструментов отладки появится в верхней части редактора после начала сеанса отладки.

Совет: Чтобы изменить место появления панели инструментов отладки, используйте параметр debug.toolBarLocation. Она может быть скрыта, пристыкована к представлению Запуск и Отладка или находиться в плавающем положении по умолчанию. Перетащите плавающую панель инструментов отладки вниз в область редактора, а также по горизонтали.

:/>  Как изменить параметры загрузки Windows 7, 8 и где найти boot.ini.

Debug console repl

Для оценки выражений можно использовать функцию Read-Eval-Print Loop (REPL) отладочной консоли. Используйте действие Debug Console в верхней части панели Debug или команду View: Debug Console (Y (Windows, Linux Ctrl Shift Y)), чтобы открыть Debug Console. После того как вы нажмете Enter, выражения будут оценены, а отладочная консоль REPL предоставит предложения по мере ввода.

If you need to enter multiple lines, use Shift Enter between the lines and then send all lines for evaluation with Enter.
Debug Console input uses the mode of the active editor, which means that the Debug Console input supports syntax coloring, indentation, auto closing of quotes, and other language features.

Для использования Debug Console REPL требуется запущенный сеанс отладки.

Debugger extensions

V S Code может отлаживать JavaScript, TypeScript или любой другой язык, который переводится на JavaScript, и имеет встроенную поддержку отладки для среды выполнения Node.js.

Ищите расширения Debuggers в VS Code Marketplace или выберите Install Additional Debuggers в меню Run верхнего уровня, чтобы отлаживать другие языки и среды выполнения (такие как PHP, Ruby, Go, C#, Python, C, PowerShell и многие другие).

Ниже приведен список известных расширений, поддерживающих отладку:

Наблюдатель: Вышеупомянутые расширения запрашиваются динамически. Чтобы решить, какое расширение лучше всего подходит для вас, выберите плитку из списка выше, прочитайте описание и отзывы.

Function breakpoints

Отладчик может поддерживать установку точек останова, указывая имя функции, а не размещая их непосредственно в исходном коде. Это полезно, когда имя функции известно, но исходный текст недоступен.

Выбрав кнопку в заголовке раздела BREAKPOINTS и введя имя функции, можно создать точку останова функции. В разделе BREAKPOINTS точки останова функций отображаются в виде красных треугольников.

I do not see any launch configurations in the run and debug view dropdown. what is wrong?

Чаще всего проблема заключается в том, что файл launch.json не был настроен должным образом или содержит синтаксическую ошибку. Кроме того, поскольку отладка без папки не поддерживает конфигурации запуска, вам может потребоваться открыть папку.

8/4/2022

Inline breakpoints

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

Во время сеанса отладки точку останова можно установить, нажав F9 (Windows, Linux Shift F9) или выбрав ее из контекстного меню. Точки останова для встроенного кода отображаются в редакторе.

Условия также можно использовать с линейными точками останова. С помощью контекстного меню в левом поле редактора можно редактировать несколько точек останова на одной строке.

Launch configurations

Выберите Run and Debug в представлении запуска Debug или нажмите F5, чтобы VS Code попытался запустить текущий активный файл для запуска или отладки простого приложения.

Launch versus attach configurations

Launch и Attach – это два основных режима отладки в VS Code, и они предназначены для двух различных рабочих процессов и групп разработчиков. Определить наилучшую конфигурацию для вашего проекта в зависимости от вашего рабочего процесса может быть непросто.

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

Думайте о конфигурации запуска как о рецепте запуска вашего приложения в режиме отладки до того, как VS Code подключится к нему, в то время как конфигурация подключения – это рецепт подключения отладчика VS Code к уже запущенному приложению или процессу.

:/>  Информация по DNS с помощью nslookup из Кали Линукс.

Большинство отладчиков VS Code позволяют запускать программу в режиме отладки или присоединяться к программе, которая уже запущена в режиме отладки. В зависимости от запроса (присоединение или запуск) требуются разные атрибуты, и в этом должны помочь проверка и предложения в файле launch.json в VS Code.

Launch.json attributes

Многочисленные атрибуты launch.json доступны для поддержки различных отладчиков и сценариев отладки. Как уже было сказано, после того, как вы задали значение атрибуту type, вы можете использовать IntelliSense (Space (Windows, Linux Ctrl Space)) для просмотра списка доступных атрибутов.

В каждой конфигурации запуска должны присутствовать следующие характеристики:

  • Type – тип отладчика, который будет использоваться для данной конфигурации выпуска. Каждое установленное расширение отладчика имеет свой тип: например, node для встроенного отладчика Node или php и go для расширений PHP и Go.
  • Request – тип запроса для данной конфигурации выпуска. В настоящее время поддерживаются запуск и прикрепление.
  • Имя – удобное для пользователя имя, которое будет отображаться в выпадающем списке конфигурации запуска отладки.

Следующие атрибуты являются необязательными и доступны для всех конфигураций запуска:

Многие отладчики поддерживают следующие характеристики:

  • Program – исполняемый файл или файл, который будет запущен при запуске отладчика
  • Args – аргументы, передаваемые отладочной программе
  • Env – переменные среды (нулевое значение может быть использовано для “неопределения” переменной)
  • EnvFile – путь к файлу dotenv с переменными среды
  • Cwd – текущий рабочий каталог для поиска зависимостей и других файлов
  • Port – порт, при присоединении к запущенному процессу
  • StopOnEntry – прервать работу сразу после запуска приложения
  • Console – какой тип консоли использовать, например. например, internalConsole, integratedTerminal или externalTerminal

Logpoints

Точка журнала – это тип точки останова, которая регистрирует сообщение на консоли, а не “прорывается” в отладчик. Использование точек входа особенно полезно при устранении неполадок на производственных серверах, которые нельзя остановить или приостановить.

Значок в форме “бриллианта” обозначает точку журнала. Хотя сообщения журнала могут содержать выражения, которые должны быть оценены внутри фигурных скобок (”), они по-прежнему являются обычным текстом.

Точки регистрации можно включать и выключать, а также управлять ими по условию и/или количеству попаданий, как и обычными точками останова.

Примечание: Другие расширения отладки могут реализовать точки входа, которые поддерживаются отладчиком Node.js, поставляемым с VS Code. Точки входа поддерживаются расширениями Python и Java соответственно.

Multi-target debugging

V S Code поддерживает многоцелевую отладку для сложных сценариев, включающих несколько процессов (например, клиент и сервер).

Многоцелевая отладка проста в использовании; запустив один сеанс отладки, вы можете просто запустить другой. Пользовательский интерфейс VS Code переключается в многоцелевой режим после запуска второго сеанса:

Next steps

Подробнее о возможностях отладки Node.js в VS Code читайте ниже:

Ознакомьтесь со следующими видеоматериалами для получения уроков по основам отладки Node.js:

Чтобы узнать больше о расширениях VS Code, обеспечивающих поддержку отладки для других языков программирования:

Посетите: чтобы узнать больше о поддержке выполнения задач в VS Code.

Посетите: чтобы узнать, как создать собственное расширение отладчика.

Platform-specific properties

Launch.json позволяет определить значения (например, аргументы программы), зависящие от операционной системы, на которой работает отладчик. Для этого в файле launch.json добавьте литерал для конкретной платформы и укажите соответствующие свойства в этом литерале.

Ниже приведен пример передачи “args” программе другим способом в Windows:

Redirect input/output to/from the debug target

Поскольку перенаправление ввода/вывода зависит от отладчика или среды выполнения, VS Code не поставляется со встроенным решением, совместимым со всеми отладчиками.

Вот две стратегии, которые вы, возможно, захотите принять во внимание:

  1. Запустите отлаживаемую программу (“цель отладки”) вручную в терминале или командной строке и при необходимости перенаправьте ввод/вывод. Убедитесь, что вы передали отладочной цели соответствующие параметры командной строки, чтобы отладчик мог подключиться к ней. Создайте и запустите конфигурацию “присоединенного” отладчика, который присоединяется к цели отладки.
  2. Если используемое вами расширение отладчика может запускать цель отладки во встроенном терминале VS Code (или во внешнем терминале), вы можете попробовать передать синтаксис перенаправления оболочки (например, “<" или ">“) в качестве аргументов.

Here’s an example launch.json configuration:

Remote debugging

Используемое вами расширение отладки имеет функцию удаленной отладки, которую VS Code не поддерживает изначально. Для получения дополнительной информации и поддержки посетите страницу расширения в Marketplace.

Однако есть одно исключение: удаленная отладка поддерживается отладчиком Node.js, встроенным в Visual Studio Code. Узнайте, как его настроить, прочитав тему Отладка Node.js.

Run and debug view

Выберите значок Запуск и отладка в панели активности сбоку Visual Studio Code, чтобы открыть представление Запуск и отладка. Кроме того, вы можете нажать D на клавиатуре (Windows, Linux, Ctrl Shift D).

Представление “Запуск и отладка” имеет верхнюю панель с командами отладки и параметрами конфигурации, а также отображает всю информацию, относящуюся к запуску и отладке.

V S Code отображает представление Run start, если запуск и отладка еще не настроены (не создан файл launch.json).

Наиболее популярные команды запуска и отладки можно найти в меню верхнего уровня Run:

Run mode

V S Code поддерживает запуск программ в дополнение к их отладке. F5 (Windows, Linux, Ctrl F5) инициирует действие Debug: Run (Запуск без отладки), которое использует выбранную конфигурацию запуска.

Хотя он всегда доступен, не все расширения отладчика поддерживают действие Run. ‘Run’ в данном случае будет эквивалентно ‘Debug’.

Start debugging

Следующая информация основана на стандартном отладчике Node.js, но большинство идей и возможностей применимы и к другим отладчикам.

Прежде чем читать об отладке, полезно сначала создать пример приложения Node.js. Вы можете установить Node.js и создать простое JavaScript-приложение “Hello World” (app.js), следуя инструкциям в руководстве по Node.js. На этой странице вы узнаете о возможностях отладки VS Code после создания простого приложения.

Trigger debugging via edge or chrome

В качестве альтернативы можно выбрать действие debugWithEdge или debugWithChrome. В этом режиме можно добавить свойство webRoot, которое передается в сеанс отладки Chrome или Edge.

To simplify things a bit, most properties are optional and we use the following fallback values:

Triggering an arbitrary launch config

В некоторых обстоятельствах вам может понадобиться добавить дополнительные настройки в сеанс отладки браузера или полностью переключиться на другой отладчик. Этого можно добиться, задав имя конфигурации запуска в свойстве name свойства action, которое должно быть установлено в startDebugging при совпадении шаблона.

ServerReadyAction и именованная конфигурация запуска должны находиться в одном файле или папке.

Функция serverReadyAction демонстрируется здесь:

Variable substitution

Часто используемые пути и другие значения могут быть найдены как переменные в VS Code, и поддерживается подстановка переменных внутри строк в файле launch.json. Это означает, что использование абсолютных путей в отладочных конфигурациях не обязательно. Например, $workspaceFolder указывает путь к корневой папке рабочей области, $file – имя файла, открытого в активном в данный момент редакторе, а $env:

What are the supported debugging scenarios?

С помощью VS Code отладка приложений на базе Node.js сразу же поддерживается в Linux, macOS и Windows. Доступные на рынке расширения VS Code поддерживают широкий спектр дополнительных сценариев.

Другие причины открытия debug-файлов

Ошибки открытия неизвестных файлов Apple II. (находится на компакт-диске Golden Orchard Apple II CD Rom) может произойти с последним программным обеспечением Atom. Возможно, вы не сможете открыть файлы DEBUG, если у вас есть другие проблемы, не связанные с программным обеспечением. К дополнительным основным причинам относятся:

Установлена неправильная версия atom

Неизвестный файл Apple II, возможно, не может быть открыт вашей версией Atom. Атом несовместим с Apple II CD-ROM. Вы должны установить правильную версию Atom, если вы используете неправильную. Неизвестный файл Apple II является причиной этой проблемы.

Резюме. Можно избежать открытия файлов, если Atom установлен правильно.

Оставьте комментарий

Adblock
detector