5#ifndef V8_DEBUG_WASM_GDB_SERVER_GDB_SERVER_H_
6#define V8_DEBUG_WASM_GDB_SERVER_GDB_SERVER_H_
35 static std::unique_ptr<GdbServer>
Create();
48 bool clear_module_list_changed_flag =
false);
55 bool GetWasmGlobal(uint32_t frame_index, uint32_t index, uint8_t* buffer,
56 uint32_t buffer_size, uint32_t* size);
61 bool GetWasmLocal(uint32_t frame_index, uint32_t index, uint8_t* buffer,
62 uint32_t buffer_size, uint32_t* size);
67 uint32_t buffer_size, uint32_t* size);
129 template <
typename Callback>
152 bool has_compile_error)
override;
155 const std::vector<debug::BreakpointId>& inspector_break_points_hit,
174 return id_ << 16 | script_id;
181 static std::atomic<uint32_t>
id_s;
203 typedef std::map<Isolate*, std::unique_ptr<DebugDelegate>>
DebugDelegate(Isolate *isolate, GdbServer *gdb_server)
void ScriptCompiled(Local< debug::Script > script, bool is_live_edited, bool has_compile_error) override
bool IsFunctionBlackboxed(Local< debug::Script > script, const debug::Location &start, const debug::Location &end) override
static std::atomic< uint32_t > id_s
void ExceptionThrown(Local< v8::Context > paused_context, Local< Value > exception, Local< Value > promise, bool is_uncaught, debug::ExceptionType exception_type) override
uint32_t GetModuleId(uint32_t script_id) const
void BreakProgramRequested(Local< v8::Context > paused_context, const std::vector< debug::BreakpointId > &inspector_break_points_hit, v8::debug::BreakReasons break_reasons) override
IsolateDebugDelegateMap isolate_delegates_
bool GetWasmLocal(uint32_t frame_index, uint32_t index, uint8_t *buffer, uint32_t buffer_size, uint32_t *size)
std::unique_ptr< TaskRunner > task_runner_
bool AddBreakpoint(uint32_t wasm_module_id, uint32_t offset)
GdbServer(const GdbServer &)=delete
std::unique_ptr< GdbServerThread > thread_
uint32_t GetWasmModuleBytes(wasm_addr_t address, uint8_t *buffer, uint32_t size)
uint32_t GetWasmData(uint32_t module_id, uint32_t offset, uint8_t *buffer, uint32_t size)
bool GetModuleDebugHandler(uint32_t module_id, WasmModuleDebug **wasm_module_debug)
bool HasModuleListChanged() const
std::vector< WasmModuleInfo > GetLoadedModules(bool clear_module_list_changed_flag=false)
std::atomic< bool > has_module_list_changed_
bool GetWasmStackValue(uint32_t frame_index, uint32_t index, uint8_t *buffer, uint32_t buffer_size, uint32_t *size)
std::vector< wasm_addr_t > GetWasmCallStack() const
auto RunSyncTask(Callback &&callback) const
void QuitMessageLoopOnPause()
void RemoveIsolate(Isolate *isolate)
uint32_t GetWasmMemory(uint32_t module_id, uint32_t offset, uint8_t *buffer, uint32_t size)
std::map< uint32_t, WasmModuleDebug > ScriptsMap
Target & GetTarget() const
std::map< uint64_t, int > BreakpointsMap
bool GetWasmGlobal(uint32_t frame_index, uint32_t index, uint8_t *buffer, uint32_t buffer_size, uint32_t *size)
bool RemoveBreakpoint(uint32_t wasm_module_id, uint32_t offset)
static std::unique_ptr< GdbServer > Create()
BreakpointsMap breakpoints_
void RunMessageLoopOnPause()
GdbServer & operator=(const GdbServer &)=delete
std::map< Isolate *, std::unique_ptr< DebugDelegate > > IsolateDebugDelegateMap
void AddIsolate(Isolate *isolate)
void AddWasmModule(uint32_t module_id, Local< debug::WasmScript > wasm_script)
v8::TaskRunner TaskRunner
#define DCHECK_LT(v1, v2)