diff options
Diffstat (limited to 'lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h')
-rw-r--r-- | lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h index 8d5134a49a4..1b1f173a364 100644 --- a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h +++ b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h @@ -13,14 +13,17 @@ #include "lldb/Utility/Status.h" #include "lldb/lldb-forward.h" +#include "llvm/Support/Mutex.h" + +#include "IDebugDelegate.h" #include "Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.h" -#include "ProcessDebugger.h" namespace lldb_private { class HostProcess; +class ProcessWindowsData; -class ProcessWindows : public Process, public ProcessDebugger { +class ProcessWindows : public Process, public IDebugDelegate { public: // Static functions. static lldb::ProcessSP CreateInstance(lldb::TargetSP target_sp, @@ -98,7 +101,19 @@ public: void OnUnloadDll(lldb::addr_t module_addr) override; void OnDebugString(const std::string &string) override; void OnDebuggerError(const Status &error, uint32_t type) override; + +private: + Status WaitForDebuggerConnection(DebuggerThreadSP debugger, + HostProcess &process); + + // These decode the page protection bits. + static bool IsPageReadable(uint32_t protect); + static bool IsPageWritable(uint32_t protect); + static bool IsPageExecutable(uint32_t protect); + + llvm::sys::Mutex m_mutex; + std::unique_ptr<ProcessWindowsData> m_session_data; }; -} // namespace lldb_private +} #endif // liblldb_Plugins_Process_Windows_Common_ProcessWindows_H_ |