9#ifndef liblldb_NativeProcessNetBSD_H_
10#define liblldb_NativeProcessNetBSD_H_
20namespace process_netbsd {
34 llvm::Expected<std::unique_ptr<NativeProcessProtocol>>
38 llvm::Expected<std::unique_ptr<NativeProcessProtocol>>
61 size_t &bytes_read)
override;
64 size_t &bytes_written)
override;
73 bool hardware)
override;
85 llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
90 int data = 0,
int *result =
nullptr);
93 llvm::Expected<std::string>
SaveCore(llvm::StringRef path_hint)
override;
An architecture specification class.
std::unique_ptr< SignalHandle > SignalHandleUP
Abstract class that extends NativeProcessProtocol with ELF specific logic.
Manager(MainLoop &mainloop)
Extension
Extension flag constants, returned by Manager::GetSupportedExtensions() and passed to SetEnabledExten...
Extension GetSupportedExtensions() const override
Get the bitmask of extensions supported by this process plugin.
llvm::Expected< std::unique_ptr< NativeProcessProtocol > > Launch(ProcessLaunchInfo &launch_info, NativeDelegate &native_delegate) override
Launch a process for debugging.
Manages communication with the inferior (debugee) process.
llvm::Expected< std::string > SaveCore(llvm::StringRef path_hint) override
Write a core dump (without crashing the program).
lldb::addr_t GetSharedLibraryInfoAddress() override
void MonitorClone(::pid_t child_pid, bool is_vfork, NativeThreadNetBSD &parent_thread)
Status ReadMemory(lldb::addr_t addr, void *buf, size_t size, size_t &bytes_read) override
Status Interrupt() override
Tells a process to interrupt all operations as if by a Ctrl-C.
Status GetMemoryRegionInfo(lldb::addr_t load_addr, MemoryRegionInfo &range_info) override
Status GetLoadedModuleFileSpec(const char *module_path, FileSpec &file_spec) override
MainLoop::SignalHandleUP m_sigchld_handle
Status GetFileLoadAddress(const llvm::StringRef &file_name, lldb::addr_t &load_addr) override
llvm::ErrorOr< std::unique_ptr< llvm::MemoryBuffer > > GetAuxvData() const override
bool HasThreadNoLock(lldb::tid_t thread_id)
void MonitorSIGTRAP(lldb::pid_t pid)
Status ReinitializeThreads()
Status WriteMemory(lldb::addr_t addr, const void *buf, size_t size, size_t &bytes_written) override
Status PopulateMemoryRegionCache()
const ArchSpec & GetArchitecture() const override
std::vector< std::pair< MemoryRegionInfo, FileSpec > > m_mem_region_cache
Status Resume(const ResumeActionList &resume_actions) override
size_t UpdateThreads() override
void MonitorExited(lldb::pid_t pid, WaitStatus status)
void MonitorCallback(lldb::pid_t pid, int signal)
NativeThreadNetBSD & AddThread(lldb::tid_t thread_id)
Status SetBreakpoint(lldb::addr_t addr, uint32_t size, bool hardware) override
LazyBool m_supports_mem_region
void MonitorSIGSTOP(lldb::pid_t pid)
static Status PtraceWrapper(int req, lldb::pid_t pid, void *addr=nullptr, int data=0, int *result=nullptr)
void RemoveThread(lldb::tid_t thread_id)
Status Signal(int signo) override
Sends a process a UNIX signal signal.
static Status StopProcess(lldb::pid_t pid)
void MonitorSignal(lldb::pid_t pid, int signal)
A class that represents a running process on the host machine.