Я использую удаленную отладку по сокетному соединению со старой версией v8. Удаленная отладка не работает с последней версией v8. Поскольку некоторые методы устарели или удалены из v8. Файл v8-debug.h бесполезен для отладки.
// Schedule a debugger break to happen when JavaScript code is run // in the given isolate. V8_DEPRECATED("No longer supported", static void DebugBreak(Isolate* isolate));
// Remove scheduled debugger break in given isolate if it has not
// happened yet. V8_DEPRECATED("No longer supported", static void CancelDebugBreak(Isolate* isolate));// Check if a debugger break is scheduled in the given isolate.
V8_DEPRECATED("No longer supported", static bool CheckDebugBreak(Isolate* isolate));// This is now a no-op. V8_DEPRECATED("No longer supported", static void SetMessageHandler(Isolate* isolate, MessageHandler handler));
// This is now a no-op. V8_DEPRECATED("No longer supported", static void SendCommand(Isolate* isolate, const uint16_t* command, int length, ClientData* client_data = NULL));
Я не могу найти руководство по устранению этой проблемы. Есть ли какой-нибудь минимальный пример отладки C++ с v8-Inspector?
@jmrk Я это видел. Но для меня это сложно. Мы используем Debug :: SendCommand для отправки команды v8 с предыдущими версиями v8. Но теперь я могу создать InspectorClient?





Вы можете проверить эту статью, которую я написал на эту тему: https://medium.com/@hyperandroid/v8-inspector-from-an-embedder-standpoint-7f9c0472e2b7
Старый агент отладчика устарел и некоторое время назад был удален из основной кодовой базы в пользу API инспектора, поэтому вам в основном нужно переписывать все с нуля.
Сложные части интеграции:
runMessageLoopInPause и quitMessageLoopInPause, предоставленные в InspectorClient.
Вы видели официальную документацию на github.com/v8/v8/wiki/Debugging-over-the-V8-Inspector-API? Помогает?