v8 удаленная отладка с ++ - PullRequest
       21

v8 удаленная отладка с ++

0 голосов
/ 25 апреля 2018

Я использую удаленную отладку через сокетное соединение со старой версией v8. Удаленная отладка не работает с последней версией v8. Потому что некоторые методы устарели или удалены из v8. Файл v8-debug.h бесполезен для отладки.

// Запланировать прерывание отладчика при выполнении кода JavaScript // в данном изоляте. V8_DEPRECATED («Больше не поддерживается», статическая пустота DebugBreak (Изолировать * изолировать));

// Удалить запланированный разрыв отладчика в данном изоляте, если он не
// случилось еще. V8_DEPRECATED («Больше не поддерживается», static void CancelDebugBreak (Изолировать * изолировать));

// Проверить, запланирован ли разрыв отладчика в данном изоляте.
V8_DEPRECATED («Больше не поддерживается», static bool CheckDebugBreak (Изолировать * изолировать));

// Теперь это неоперация. V8_DEPRECATED («Больше не поддерживается», статическая пустота SetMessageHandler (Изолировать * изолировать, Обработчик MessageHandler));

// Теперь это неоперация. V8_DEPRECATED («Больше не поддерживается», static void SendCommand (Изолировать * изолировать, const uint16_t * команда, int длина, ClientData * client_data = NULL));

Я не могу найти руководство, чтобы решить эту проблему. Есть ли минимальный пример отладки c ++ с v8-inspector?

1 Ответ

0 голосов
/ 25 января 2019

Возможно, вы захотите проверить статью подобного рода, которую я написал на эту тему: https://medium.com/@hyperandroid/v8-inspector-from-an-embedder-standpoint-7f9c0472e2b7

Старый агент отладчика устарел и удален из основной базы кода некоторое время назад в пользу API инспектора, так что вы в основномнужно переписать все с нуля.

Хитрые части интеграции:

  • веб-сокеты как средство передачи между инструментами Chrome Dev и запущенной кодовой базой (в моем случае, приложение для Android свстроенный v8).
  • , соответственно обрабатывая их пользовательские методы runMessageLoopInPause и quitMessageLoopInPause, предоставленные в InspectorClient.
...