17 ObjectMapper o(value, path);
18 return o && o.map(
"name", data.
name) && o.map(
"value", data.
value);
27 ObjectMapper o(value, path);
28 return o && o.mapOptional(
"shlib", data.
shlib) &&
38 ObjectMapper o(value, path);
47 ObjectMapper o(value, path);
48 return o && o.map(
"identifier", data.
identifier) &&
49 o.mapOptional(
"by_name", data.
by_name) &&
50 o.mapOptional(
"by_address", data.
by_address) &&
65 ObjectMapper o(value, path);
66 return o && o.map(
"plugin_name", data.
plugin_name) &&
79std::optional<uint64_t>
82 return symbol.
name == symbol_name;
90 ObjectMapper o(value, path);
91 return o && o.map(
"plugin_name", data.
plugin_name) &&
108 ObjectMapper o(value, path);
109 return o && o.map(
"disable_bp", data.
disable_bp) &&
111 o.mapOptional(
"actions", data.
actions);
120 obj[
"actions"] = *data.
actions;
A class that represents a running process on the host machine.
bool fromJSON(const llvm::json::Value &value, SymbolValue &data, llvm::json::Path path)
llvm::json::Value toJSON(const SymbolValue &data)
Actions to be performed in the native process on behalf of an accelerator plugin.
std::vector< AcceleratorBreakpointInfo > breakpoints
New breakpoints to set. Nothing to set if this is empty.
int64_t identifier
Unique identifier for this action within the plugin.
std::string plugin_name
Unique name identifying the accelerator plugin.
std::string session_name
Human-readable label for the accelerator target.
uint64_t load_address
Load address in the native debug target.
std::string function_name
Function name to set a breakpoint at.
std::optional< std::string > shlib
Optional shared library name to limit the breakpoint scope.
Sent by the client when a plugin-requested breakpoint is hit.
AcceleratorBreakpointInfo breakpoint
std::optional< uint64_t > GetSymbolValue(llvm::StringRef symbol_name) const
std::vector< SymbolValue > symbol_values
Response from the plugin when a breakpoint is hit.
bool disable_bp
Set to true if this breakpoint should be disabled.
std::optional< AcceleratorActions > actions
Optional new actions to perform (e.g. set additional breakpoints).
bool auto_resume_native
Set to true if the native process should automatically resume after the breakpoint is hit.
int64_t identifier
Unique breakpoint ID used to identify this breakpoint in the BreakpointWasHit callback.
std::vector< std::string > symbol_names
Symbol names whose values should be supplied when the breakpoint is hit.
std::optional< AcceleratorBreakpointByAddress > by_address
Breakpoint by load address.
std::optional< AcceleratorBreakpointByName > by_name
Breakpoint by function name.
std::string name
Symbol name as requested in AcceleratorBreakpointInfo::symbol_names.
std::optional< uint64_t > value
Load address of the symbol in the native process, or nullopt if not found.