9#ifndef LLDB_UTILITY_ACCELERATORGDBREMOTEPACKETS_H
10#define LLDB_UTILITY_ACCELERATORGDBREMOTEPACKETS_H
12#include "llvm/Support/JSON.h"
28 llvm::json::Path path);
33 std::optional<std::string>
shlib;
39 llvm::json::Path path);
60 std::optional<AcceleratorBreakpointByName>
by_name;
62 std::optional<AcceleratorBreakpointByAddress>
by_address;
68 llvm::json::Path path);
81 std::optional<uint64_t>
GetSymbolValue(llvm::StringRef symbol_name)
const;
120 llvm::json::Path path);
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.
AcceleratorActions()=default
AcceleratorActions(llvm::StringRef plugin_name, int64_t action_id)
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.
AcceleratorBreakpointHitArgs(llvm::StringRef plugin_name)
AcceleratorBreakpointHitArgs()=default
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.