Go to the documentation of this file.
9 #ifndef liblldb_NativeProcessFreeBSD_H_
10 #define liblldb_NativeProcessFreeBSD_H_
22 namespace process_freebsd {
35 llvm::Expected<std::unique_ptr<NativeProcessProtocol>>
39 llvm::Expected<std::unique_ptr<NativeProcessProtocol>>
63 size_t &bytes_read)
override;
66 size_t &bytes_written)
override;
73 bool hardware)
override;
85 llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
90 int data = 0,
int *result =
nullptr);
94 llvm::Expected<std::string>
SaveCore(llvm::StringRef path_hint)
override;
97 llvm::Expected<llvm::ArrayRef<uint8_t>>
135 #endif // #ifndef liblldb_NativeProcessFreeBSD_H_
Status Resume(const ResumeActionList &resume_actions) override
Status Signal(int signo) override
Sends a process a UNIX signal signal.
Status SetBreakpoint(lldb::addr_t addr, uint32_t size, bool hardware) override
LazyBool m_supports_mem_region
llvm::Expected< std::string > SaveCore(llvm::StringRef path_hint) override
Write a core dump (without crashing the program).
Status PopulateMemoryRegionCache()
NativeProcessFreeBSD(::pid_t pid, int terminal_fd, NativeDelegate &delegate, const ArchSpec &arch, MainLoop &mainloop)
void MonitorClone(::pid_t child_pid, bool is_vfork, NativeThreadFreeBSD &parent_thread)
Status ReinitializeThreads()
void RemoveThread(lldb::tid_t thread_id)
MainLoop::SignalHandleUP m_sigchld_handle
void MonitorSignal(lldb::pid_t pid, int signal)
llvm::Expected< std::unique_ptr< NativeProcessProtocol > > Attach(lldb::pid_t pid, NativeDelegate &native_delegate, MainLoop &mainloop) const override
Attach to an existing process.
llvm::Expected< std::unique_ptr< NativeProcessProtocol > > Launch(ProcessLaunchInfo &launch_info, NativeDelegate &native_delegate, MainLoop &mainloop) const override
Launch a process for debugging.
Status GetLoadedModuleFileSpec(const char *module_path, FileSpec &file_spec) override
static Status PtraceWrapper(int req, lldb::pid_t pid, void *addr=nullptr, int data=0, int *result=nullptr)
void MonitorSIGSTOP(lldb::pid_t pid)
Status WriteMemory(lldb::addr_t addr, const void *buf, size_t size, size_t &bytes_written) override
Extension GetSupportedExtensions() const override
Get the bitmask of extensions supported by this process plugin.
Status ReadMemory(lldb::addr_t addr, void *buf, size_t size, size_t &bytes_read) override
void MonitorCallback(lldb::pid_t pid, int signal)
Extension
Extension flag constants, returned by Factory::GetSupportedExtensions() and passed to SetEnabledExten...
const ArchSpec & GetArchitecture() const override
std::unique_ptr< SignalHandle > SignalHandleUP
Status GetFileLoadAddress(const llvm::StringRef &file_name, lldb::addr_t &load_addr) override
Status GetMemoryRegionInfo(lldb::addr_t load_addr, MemoryRegionInfo &range_info) override
llvm::ErrorOr< std::unique_ptr< llvm::MemoryBuffer > > GetAuxvData() const override
void MonitorSIGTRAP(lldb::pid_t pid)
Status Interrupt() override
Tells a process to interrupt all operations as if by a Ctrl-C.
A class that represents a running process on the host machine.
NativeThreadFreeBSD & AddThread(lldb::tid_t thread_id)
size_t UpdateThreads() override
bool SupportHardwareSingleStepping() const
void MonitorExited(lldb::pid_t pid, WaitStatus status)
std::vector< std::pair< MemoryRegionInfo, FileSpec > > m_mem_region_cache
llvm::Expected< llvm::ArrayRef< uint8_t > > GetSoftwareBreakpointTrapOpcode(size_t size_hint) override
bool HasThreadNoLock(lldb::tid_t thread_id)