003 File Manager
Current Path:
/usr/src/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD
usr
/
src
/
contrib
/
llvm-project
/
lldb
/
source
/
Plugins
/
Process
/
NetBSD
/
📁
..
📄
NativeProcessNetBSD.cpp
(29.62 KB)
📄
NativeProcessNetBSD.h
(3.94 KB)
📄
NativeRegisterContextNetBSD.cpp
(1.37 KB)
📄
NativeRegisterContextNetBSD.h
(1.75 KB)
📄
NativeRegisterContextNetBSD_x86_64.cpp
(43.58 KB)
📄
NativeRegisterContextNetBSD_x86_64.h
(3.23 KB)
📄
NativeThreadNetBSD.cpp
(9.05 KB)
📄
NativeThreadNetBSD.h
(2.4 KB)
Editing: NativeThreadNetBSD.h
//===-- NativeThreadNetBSD.h ---------------------------------- -*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef liblldb_NativeThreadNetBSD_H_ #define liblldb_NativeThreadNetBSD_H_ #include "lldb/Host/common/NativeThreadProtocol.h" #include "Plugins/Process/NetBSD/NativeRegisterContextNetBSD.h" #include <csignal> #include <map> #include <string> namespace lldb_private { namespace process_netbsd { class NativeProcessNetBSD; class NativeThreadNetBSD : public NativeThreadProtocol { friend class NativeProcessNetBSD; public: NativeThreadNetBSD(NativeProcessNetBSD &process, lldb::tid_t tid); // NativeThreadProtocol Interface std::string GetName() override; lldb::StateType GetState() override; bool GetStopReason(ThreadStopInfo &stop_info, std::string &description) override; NativeRegisterContextNetBSD &GetRegisterContext() override; Status SetWatchpoint(lldb::addr_t addr, size_t size, uint32_t watch_flags, bool hardware) override; Status RemoveWatchpoint(lldb::addr_t addr) override; Status SetHardwareBreakpoint(lldb::addr_t addr, size_t size) override; Status RemoveHardwareBreakpoint(lldb::addr_t addr) override; private: // Interface for friend classes Status Resume(); Status SingleStep(); Status Suspend(); void SetStoppedBySignal(uint32_t signo, const siginfo_t *info = nullptr); void SetStoppedByBreakpoint(); void SetStoppedByTrace(); void SetStoppedByExec(); void SetStoppedByWatchpoint(uint32_t wp_index); void SetStoppedWithNoReason(); void SetStopped(); void SetRunning(); void SetStepping(); Status CopyWatchpointsFrom(NativeThreadNetBSD& source); // Member Variables lldb::StateType m_state; ThreadStopInfo m_stop_info; std::unique_ptr<NativeRegisterContextNetBSD> m_reg_context_up; std::string m_stop_description; using WatchpointIndexMap = std::map<lldb::addr_t, uint32_t>; WatchpointIndexMap m_watchpoint_index_map; WatchpointIndexMap m_hw_break_index_map; }; typedef std::shared_ptr<NativeThreadNetBSD> NativeThreadNetBSDSP; } // namespace process_netbsd } // namespace lldb_private #endif // #ifndef liblldb_NativeThreadNetBSD_H_
Upload File
Create Folder