9#ifndef LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_PROCESSKDP_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_PROCESSKDP_H
55 bool plugin_specified_by_name)
override;
69 bool wait_for_launch)
override;
78 const char *process_name,
static llvm::raw_ostream & error(Stream &strm)
lldb_private::Status DoWillLaunch(lldb_private::Module *module) override
Called before launching to a process.
lldb_private::Broadcaster m_async_broadcaster
@ eBroadcastBitAsyncThreadShouldExit
@ eBroadcastBitAsyncContinue
llvm::StringRef GetPluginName() override
size_t DoReadMemory(lldb::addr_t addr, void *buf, size_t size, lldb_private::Status &error) override
Actually do the reading of memory from a process.
lldb::CommandObjectSP m_command_sp
void DidAttach(lldb_private::ArchSpec &process_arch) override
Called after attaching a process.
lldb_private::Status EnableBreakpointSite(lldb_private::BreakpointSite *bp_site) override
bool IsRunning(lldb::StateType state)
lldb::ThreadSP GetKernelThread()
static llvm::StringRef GetPluginDescriptionStatic()
llvm::StringRef m_dyld_plugin_name
bool GetHostArchitecture(lldb_private::ArchSpec &arch)
lldb::ThreadWP m_kernel_thread_wp
lldb_private::Status DoLaunch(lldb_private::Module *exe_module, lldb_private::ProcessLaunchInfo &launch_info) override
Launch a new process.
lldb_private::Status DoSignal(int signal) override
Sends a process a UNIX signal signal.
void RefreshStateAfterStop() override
Currently called as part of ShouldStop.
lldb_private::HostThread m_async_thread
const ProcessKDP & operator=(const ProcessKDP &)=delete
lldb_private::DynamicLoader * GetDynamicLoader() override
Get the dynamic loader plug-in for this process.
CommunicationKDP & GetCommunication()
lldb_private::Status WillResume() override
Called before resuming to a process.
ProcessKDP(const ProcessKDP &)=delete
lldb_private::Status DoHalt(bool &caused_stop) override
Halts a running process.
static lldb::ProcessSP CreateInstance(lldb::TargetSP target_sp, lldb::ListenerSP listener_sp, const lldb_private::FileSpec *crash_file_path, bool can_connect)
lldb::addr_t m_kernel_load_addr
bool ProcessIDIsValid() const
lldb_private::Status DoConnectRemote(llvm::StringRef remote_url) override
Attach to a remote system via a URL.
bool IsAlive() override
Check if a process is still alive.
lldb_private::CommandObject * GetPluginCommandObject() override
Return a multi-word command object that can be used to expose plug-in specific commands.
bool CanResume(lldb::StateType state)
lldb_private::Status DoAttachToProcessWithName(const char *process_name, const lldb_private::ProcessAttachInfo &attach_info) override
Attach to an existing process using a partial process name.
lldb_private::Status DoWillAttachToProcessWithName(const char *process_name, bool wait_for_launch) override
Called before attaching to a process.
bool HasExited(lldb::StateType state)
lldb::addr_t GetImageInfoAddress() override
Get the image information address for the current process.
bool DoUpdateThreadList(lldb_private::ThreadList &old_thread_list, lldb_private::ThreadList &new_thread_list) override
Update the thread list following process plug-in's specific logic.
static void DebuggerInitialize(lldb_private::Debugger &debugger)
CommunicationKDP m_comm
Broadcaster event bits definitions.
lldb::addr_t DoAllocateMemory(size_t size, uint32_t permissions, lldb_private::Status &error) override
Actually allocate memory in the process.
lldb_private::Status DisableBreakpointSite(lldb_private::BreakpointSite *bp_site) override
lldb_private::Status DoWillAttachToProcessWithID(lldb::pid_t pid) override
Called before attaching to a process.
lldb_private::Status DoAttachToProcessWithID(lldb::pid_t pid, const lldb_private::ProcessAttachInfo &attach_info) override
Attach to an existing process using a process ID.
size_t DoWriteMemory(lldb::addr_t addr, const void *buf, size_t size, lldb_private::Status &error) override
Actually do the writing of memory to a process.
bool CanDebug(lldb::TargetSP target_sp, bool plugin_specified_by_name) override
Check if a plug-in instance can debug the file in module.
lldb_private::Status DoDetach(bool keep_stopped) override
Detaches from a running or stopped process.
lldb_private::Status DoDeallocateMemory(lldb::addr_t ptr) override
Actually deallocate memory in the process.
lldb_private::Status DoDestroy() override
bool IsStepping(lldb::StateType state)
lldb_private::Status DoResume() override
Resumes all of a process's threads as configured using the Thread run control functions.
static llvm::StringRef GetPluginNameStatic()
An architecture specification class.
Class that manages the actual breakpoint that will be inserted into the running program.
An event broadcasting class.
A class to manage flag bits.
A plug-in interface definition class for dynamic loaders.
A class that describes an executable image and its associated object and symbol files.
A plug-in interface definition class for debugging a process.
std::shared_ptr< lldb_private::Thread > ThreadSP
std::shared_ptr< lldb_private::CommandObject > CommandObjectSP
StateType
Process and Thread States.
@ eStateStopped
Process or thread is stopped and can be examined.
@ eStateRunning
Process or thread is running and can't be examined.
@ eStateExited
Process has exited and can't be examined.
@ eStateStepping
Process or thread is in the process of stepping and can not be examined.
std::shared_ptr< lldb_private::Process > ProcessSP
std::shared_ptr< lldb_private::Listener > ListenerSP
std::shared_ptr< lldb_private::Target > TargetSP
std::weak_ptr< lldb_private::Thread > ThreadWP