9#ifndef LLDB_SOURCE_PLUGINS_PROCESS_GDB_REMOTE_LLDBSERVERACCELERATORPLUGIN_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_GDB_REMOTE_LLDBSERVERACCELERATORPLUGIN_H
15#include "llvm/ADT/StringRef.h"
53 virtual llvm::Expected<AcceleratorBreakpointHitResponse>
66 virtual std::optional<AcceleratorDynamicLoaderResponse>
virtual std::optional< AcceleratorActions > GetInitializeActions()=0
virtual ~LLDBServerAcceleratorPlugin()
virtual std::optional< LLDBSettings > GetLLDBSettings()
Return the LLDB settings needed to debug this accelerator.
std::unique_ptr< GDBServer > m_accelerator_gdb_server
GDBServer & m_native_gdb_server
int64_t m_accelerator_action_identifier
MainLoop & m_native_main_loop
virtual llvm::Expected< AcceleratorBreakpointHitResponse > BreakpointWasHit(AcceleratorBreakpointHitArgs &args)=0
virtual std::optional< AcceleratorDynamicLoaderResponse > GetDynamicLoaderLibraryInfos(const AcceleratorDynamicLoaderArgs &args)
LLDBServerAcceleratorPlugin(GDBServer &native_gdb_server, MainLoop &native_main_loop)
virtual void NativeProcessDidExit(const WaitStatus &exit_status)=0
Notify the plugin when the native process exits.
NativeProcessProtocol::Manager Manager
std::unique_ptr< Manager > m_process_manager_up
virtual llvm::StringRef GetPluginName()=0
AcceleratorActions GetNewAcceleratorAction()
Create an AcceleratorActions with an identifier unique within this plugin, so identifiers from differ...
process_gdb_remote::GDBRemoteCommunicationServerLLGS GDBServer
A class that represents a running process on the host machine.
Actions to be performed in the native process on behalf of an accelerator plugin.
Sent by the client when a plugin-requested breakpoint is hit.
Arguments for the jAcceleratorPluginGetDynamicLoaderLibraryInfo packet.
LLDB-specific settings for a process debugged over GDB-remote.
std::string accelerator_plugin_name
The server-side accelerator plugin associated with this process, if any.
bool send_dyld_packet_to_accelerator
Send the dynamic-loader packet to the accelerator connection when true, or the native process's conne...
std::string dyld_plugin_name
The name of the DynamicLoader plugin to use.