{ | |
«extension.description»: «Отладка кода JavaScript или любых других целевых объектов, поддерживающих протокол отладчика Chrome, в браузере Chrome.», | |
«chrome.toggleSkipping.title»: «Chrome: переключить пропуск этого файла», | |
«chrome.toggleSmartStep.title»: «Chrome: переключить смарт-шаг», | |
«chrome.port.description»: «Порт, используемый для удаленной отладки Chrome.», | |
«chrome.address.description»: «TCP/IP-адрес порта отладки», | |
«chrome.file.description»: «Локальный HTML-файл, который будет открыт в браузере. «, | |
«chrome.url.description»: «Будет искать вкладку с точно таким же URL-адресом и подключится к ней в случае обнаружения.», | |
«chrome.webRoot.description»: «Этот параметр указывает абсолютный путь рабочей области к корневому каталогу веб-сервера. Используется для разрешения путей к файлам на диске (например, \»/app.js\»). Сокращение для pathMapping для \»/\».», | |
«chrome.pathMapping.description»: «Сопоставление URL-адресов или путей к локальным папкам для сопоставления сценариев в Chrome и сценариев на диске», | |
«chrome.runtimeExecutable.description»: «Абсолютный путь к исполняемому файлу среды выполнения в рабочей области. Если не указан, будет использовано расположение установки Chrome по умолчанию.», | |
«chrome. runtimeArgs.description»: «Необязательные аргументы, исполняемому файлу среды выполнения.», | |
«chrome.env.description»: «Дополнительный словарь пар \»ключ/значение\» среды.», | |
«chrome.cwd.description»: «Дополнительный рабочий каталог для исполняемого файла среды выполнения.», | |
«chrome.sourceMaps.description»: «Использовать сопоставители с исходным кодом JavaScript (если они существуют).», | |
«chrome.diagnosticLogging.description»: «Если параметр имеет значение \»true\», адаптер выводит свои диагностические сведения в консоль в понятном формате.», | |
«chrome.verboseDiagnosticLogging.description»: «Если указано значение true, адаптер регистрирует весь трафик с клиентом и целевым объектом (а также сведения, регистрируемые \»diagnosticLogging\»)», | |
«chrome. trace.description»: «Если задано значение \»true\», отладчик заносит сведения трассировки в файл. Если задано значение \»verbose\», он также отображает журналы в консоли.», | |
«chrome.userDataDir.description»: «По умолчанию Chrome запускается с отдельным профилем пользователя в папке temp. Используйте этот параметр, чтобы переопределить это поведение. Установите значение \»false\», чтобы запускать браузер с профилем пользователя по умолчанию.», | |
«chrome.sourceMapPathOverrides.description»: «Набор сопоставлений для переопределения расположений исходных файлов с указанных в сопоставителях с исходным кодом на реальные расположения на диске. Дополнительные сведения см. в файле сведений.», | |
«chrome.smartStep.description»: «Автоматический пропуск несопоставленных строк в файлах сопоставителей с исходным кодом. Например, кода, который автоматически формирует TypeScript при обратной компиляции async/await или других функций.», | |
«chrome.skipFiles.description»: «Массив имен файлов или папок либо стандартных масок, которые будут пропущены при отладке.», | |
«chrome.timeout.description»: «Повтор в течение указанного количества миллисекунд для подключения к Chrome. Значение по умолчанию — 10 000 мс.», | |
«chrome.disableNetworkCache.description»: «Определяет, нужно ли пропускать кэш сети для каждого запроса.», | |
«chrome.urlFilter.description»: «Будет искать страницу с этим URL-адресом и подключится к ней, если она найдена. Можно использовать подстановочные знаки *.», | |
«chrome.targetTypes.description»: «Массив допустимых типов целевых объектов. Значение по умолчанию — ‘[\»page\»]’.», | |
«chrome.showAsyncStacks.description»: «Отображение асинхронных вызовов, которые привели к текущему стеку вызовов», | |
«chrome.breakOnLoad.description»: «Экспериментальная функция — если установлено значение \»true\», то адаптер отладки попытается установить точки останова в сценариях перед их загрузкой, чтобы обеспечить срабатывание точек останова в начале этих сценариев. Эта функция оказывает влияние на производительность.», | |
«chrome.breakOnLoadStrategy.description»: «Стратегия, используемая для breakOnLoad.», | |
«chrome.breakOnLoadStrategy.instrument.description»: «Сообщает Chrome о том, что необходимо приостановить работу после загрузки каждого сценария для разрешения сопоставителей с исходным кодом и установки точек останова», | |
«chrome. breakOnLoadStrategy.regex.description»: «Оптимистично устанавливает точки останова в файлах с таким же именем, как у файла, в котором установлена точка останова.» | |
} |
Отладка — Начало Работы | Node.js
Это руководство поможет вам начать отладку ваших приложений и скриптов Node.js.
При запуске с аргументом --inspect
процесс Node.js прослушивает клиент отладки.
По умолчанию клиент прослушивается на хосте 127.0.0.1 с портом 9229.
Каждому процессу также назначается уникальный UUID.
Клиенты инспектора должны знать и указывать адрес хоста, порт и UUID для подключения.
Полный URL будет выглядеть примерно так:
ws://127.0.0.1:9229/0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e
.
Процесс Node.js также начнет прослушивать сообщения отладки, если он получит
сигнал SIGUSR1
. (SIGUSR1
не доступен в среде Windows.) В Node.js версии 7
и ниже это активирует устаревший Debugger API. В Node.js версии 8 и выше будет
активирован Inspector API.
Так как дебаггер имеет полный доступ к среде выполнения Node.js, злоумышленник,
способный подключиться к этому порту, сможет выполнить произвольный код от имени
процесса Node. Поэтому важно понимать последствия для безопасности при обличении
порта отладчика в публичных и частных сетях.
Если отладчик привязан к какому-либо публичному IP-адресу, или к 0.0.0.0, любой клиент,
способный достичь вашего IP-адреса сможет подключиться к отладчику без каких-либо
ограничений и сможет запускать произвольный код.
По умолчанию node --inspect
привязывается к 127.0.0.1. Чтобы разрешить внешние подключения,
вы должны явно предоставить общедоступный IP-адрес или 0.0.0.0 и т.д. Однако это может
подвергнуть приложение потенциально значительной угрозе его безопасности. Мы предлагаем
вам обеспечить наличие файрволов и других соответствующих средств контроля доступа для
того, чтобы предотвратить такую угрозу.
См. раздел ‘Включение сценариев удаленной отладки’, который
включает рекомендации о том, как безопасно подключить удаленные клиенты отладчика.
Даже если вы привязали порт инспектора к 127.0.0.1 (по умолчанию), любые приложения,
запущенные локально на вашем компьютере, будут иметь неограниченный доступ.
Это сделано для того, чтобы локальные отладчики могли легко подключаться.
Веб-сайты, открытые в веб-браузере, могут отправлять запросы WebSocket и HTTP
в соответствии с моделью безопасности браузера. Начальное HTTP-соединение необходимо
для получения уникального идентификатора сеанса отладчика. Правило ограничения домена
(Same Origin Policy) не позволяет веб-сайтам устанавливать это HTTP-соединение.
Для дополнительной защиты от атак DNS rebinding
Node.js проверяет, что заголовки ‘Host’ для соединения точно указывают IP-адрес,
localhost или localhost6.
Эти политики безопасности запрещают подключение к удаленному серверу отладки c
указанием имени хоста. Вы можете обойти это ограничение, указав либо IP-адрес,
либо используя ssh-туннели, как описано ниже.
Несколько коммерческих и открытых инструментов могут подключаться к инспектору Node.js.
Основная информация по ним:
- Отладчик CLI, поддерживаемый Фондом Node.js, который использует Протокол Инспектора.
- Соответствующая версия собирается вместе с Node.js,
можно использовать с помощью командыnode inspect myscript.js
. - Последняя версия также может быть установлена независимо (например,
npm install -g node-inspect
)
и использоваться черезnode-inspect myscript.js
.
- Вариант 1: Откройте
chrome://inspect
в браузере на основе Chromium
илиedge://inspect
в браузере Edge. Нажмите кнопку Configure и убедитесь,
что нужные вам хост и порт перечислены в списке. - Вариант 2: Скопируйте значение
devtoolsFrontendUrl
из вывода/json/list
(curl http://localhost:9229/json/list
) или текст подсказки —inspect и откройте его в Chrome.
- На панели «Отладка» (Debug) щелкните значок настроек, чтобы открыть файл
.vscode/launch.json
.
Выберите «Node.js» для первоначальной настройки.
- В меню выберите «Debug > Start Debugging» или нажмите
F5
. - Детальные инструкции.
- Создайте новую конфигурацию отладки Node.js и нажмите кнопку «Debug» (
Shift+F9
).--inspect
будет
использоваться по умолчанию для Node.js 7+. Чтобы отключить, снимите флажок
js.debugger.node.use.inspect
в реестре IDE.
- Библиотека для облегчения подключения к эндпоинтам Протокола Инспектора.
- Запустите конфигурацию отладки Node.js из представления
Debug
или нажмитеF5
. Детальные инструкции
- Открыв файл .js, выберите «Debug As… > Node program», или
- Создайте конфигурацию отладки, чтобы присоединить отладчик к запущенному приложению Node (уже запущенному с
--inspect
).
В следующей таблице перечислено влияние различных runtime флагов при отладке:
Флаг | Значение |
---|---|
—inspect |
|
—inspect=[host:port] |
|
—inspect-brk |
|
—inspect-brk=[host:port] |
|
node inspect script.js |
|
node inspect --port=xxxx script.js |
|
Мы рекомендуем, чтобы отладчик никогда не прослушивал общедоступный IP-адрес.
Если вам необходимо разрешить удаленные подключения для отладки, мы рекомендуем
использовать SSH-тунелли. Следующий пример предоставляется только в целях
иллюстрации возможностей. Вы должны понимать все риски информационной безопасности,
связанные с предоставлением удаленного доступа к привилегированной службе.
Допустим вы запускаете на удаленной машине, remote.example.com, приложение Node,
которое вы хотите отлаживать. На этой машине следует запустить процесс Node
с инспектором, прослушивающим только localhost (по умолчанию).
node --inspect server.js
Теперь вы можете настроить ssh-туннель на локальном компьютере, с которого
вы хотите инициировать подключение клиента отладки.
ssh -L 9221:localhost:9229 [email protected]
Это запустит сессию ssh, в которой соединение с портом 9221 на вашем локальном
компьютере будет перенаправлено к порту 9229 на remote.example.com. Теперь вы
можете подключить к localhost:9221 отладчик, такой как Chrome DevTools или
Visual Studio Code, у которого будет возможность отладки так, как если бы приложение
Node.js работало локально.
Debugger API устарело начиная с Node.js версии 7.7.0.
Вместо него следует использовать Inspector API с флагом —inspect.
При запуске с флагом —debug или —debug-brk в версии 7 или ниже,
Node.js прослушивает команды отладки, определенные протоколом
отладки V8, на порту TCP (по умолчанию 5858
). Любой клиент отладки, который
понимает этот протокол, может подключиться и отладить работающий процесс;
пара популярных клиентов перечислены ниже.
Протокол отладки V8 более не поддерживается и не документируется.
Встроенный отладчик
Введите node debug script_name.js
для запуска скрипта со встроенным CLI отладчиком.
Сам скрипт будет запущен с флагом --debug-brk
в другом процессе Node, а первоначальный
процесс Node запускает скрипт _debugger.js
и подключается к целевому скрипту.
Отлаживайте приложение Node.js с помощью Chrome DevTools используя
промежуточный процесс, который переводит протокол инспектора, используемый в Chromium,
в протокол отладчика V8, используемый в Node. js.
Развертывание политики JSON — Chrome
Шаг 1. Создайте файл конфигурации политики Keeper JSON
1
.
Если в настоящее время у вас нет созданных файлов политики JSON, в которых вы хотите использовать расширение Keeper Browser для всех ПК в вашей организации, перейдите к созданию файла политики Keeper JSON в нужном месте, например: /tmp, и назовите его keeperbe.json
Создание файла keeperbe.json через графический интерфейс Linux
ИЛИ создайте свой файл keeperbe. json через командную строку , ниже, в файл keeperbe,json или файл политики, который вы в настоящее время используете для своей организации.
«ExtensionSettings»: {
«bfogiafebfohielmmehodmfbbebbbpei»: {
«installation_mode»: «force_installed»,
«update_url»:
«https://clients2.google.com/service/update2/crx»
Шаг 2. Настройка папок конфигурации
организации, перейдите к шагу 3: развертывание файла политики Keeper JSON.
На каждом ПК в вашей организации, к которому вы хотите применить эту политику, вам потребуется как минимум одна папка для применения этой политики.
1
.
Если он еще не существует, создайте дословную структуру каталогов следующим образом;
/etc/opt/chrome/policies/managed
и установите соответствующие разрешения для этого каталога.
Создание каталога управляемой политики через графический интерфейс Linux
ИЛИ создание структуры каталогов через командную строку
mkdir /etc/opt/chrome/policies/managed
chmod -w /etc/opt/chrome/policies /managed
Создание этого каталога, скорее всего, будет НЕ находиться в том же каталоге, где установлен Chrome на целевых устройствах Linux. Пример: мой установленный каталог Chrome — /opt/google/chrome, но мой управляемый каталог политик, в котором моя организация управляет моей установкой Chrome, находится в каталоге /etc/opt/chrome/policies/managed.
Шаг 3. Развертывание файла политики Keeper JSON
Используйте предпочтительный метод (утилиту или сценарий) для передачи файла политики keeperbe. json и браузера Chrome на целевые устройства Linux в вашей организации.
1
.
Отправьте файл keeperbe.json в каталог
/etc/opt/chrome/policies/managed
на всех целевых устройствах Linux в вашей сети.2
.
Убедитесь, что файлы находятся в правильных каталогах на всех целевых устройствах Linux.
Шаг 4: Проверьте политики Chrome
На целевом клиентском устройстве откройте Google Chrome и перейдите к chrome://policy для просмотра всех примененных политик.
Успешная принудительная установка KeeperFill Chrome
Возможно, вам потребуется выбрать «Перезагрузить политики», чтобы применить эту новую политику к целевым устройствам Linux.
Перезагрузить политики Chrome
Возможно, вам придется закрыть и снова открыть Google Chrome, прежде чем появятся новые политики.
Как использовать расширение JSON Formatter для Chrome за 4 шага
Инструкции
Габриэль Пол Гомес
Опубликовано
Содержание
Расширение JSON Formatter помогает разработчикам более эффективно отлаживать код Javascript , делая текстовые строки более читабельными. Файлы JSON состоят из текстовых строк на английском языке без разрывов строк. Программисты используют JSON Formatter для представления своего кода таким образом, чтобы сделать их компьютерный язык более понятным .
Чтобы получить доступ к расширению JSON Formatter для Chrome и использовать его, выполните следующие четыре простых шага.
Установите расширение JSON Formatter для Chrome
Начните с доступа к расширению JSON Formatter. Вам нужно будет использовать браузер Chrome , чтобы установить это расширение.
Подтвердите, что расширение JSON действительно . Документы JSON содержат текст, фигурные скобки, квадратные скобки, двойные кавычки, запятые и, возможно, одинарные кавычки, в зависимости от
предпочтение разработчика . Объекты, заключенные в фигурные скобки, представляют несколько пар и значений.
Убедитесь, что текст JSON читается онлайн
Получите доступ к представлению Enterprise Explorer в среде разработки Javascript . В этом пользовательском представлении отображаются все ваши текущие проекты с расширениями Java EE. Щелкните правой кнопкой мыши файл . json или любую другую текстовую строку, содержащую допустимый код JSON, и выберите Открыть с помощью > Редактор JSON. Этот сжимает ваши строки JSON , отображая их в одной строке, удаляя пробелы между элементами JSON.
Тестирование приложения JSON Formatter
Убедившись, что исходный код действителен и правильно отформатирован, вставьте документ в видимый текст и на веб-страницу и нажмите кнопку Format JSON . Приложение отобразит текст в нужном формате, чтобы его было легче читать. Вы можете отменить свои изменения и отправить код обратно на его оригинальную компактную форму , введя ее в текстовое поле и нажав кнопку Un-Format JSON .
Расширение работает и с локальными файлами после его включения в chrome://extensions. Чтобы проверить документ JSON , просто введите JSON в консоль. Если вы хотите просмотреть панель форматирования, откройте раскрывающийся список видов и выберите Форматировать текущий вид .