1 //===-- DynamicLoaderWindowsDYLD.h ------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef liblldb_Plugins_Process_Windows_DynamicLoaderWindowsDYLD_h_ 11 #define liblldb_Plugins_Process_Windows_DynamicLoaderWindowsDYLD_h_ 12 13 // C Includes 14 // C++ Includes 15 // Other libraries and framework includes 16 // Project includes 17 #include "lldb/lldb-forward.h" 18 #include "lldb/Target/DynamicLoader.h" 19 20 namespace lldb_private 21 { 22 23 class DynamicLoaderWindowsDYLD : public DynamicLoader 24 { 25 public: 26 DynamicLoaderWindowsDYLD(Process *process); 27 28 ~DynamicLoaderWindowsDYLD() override; 29 30 static void Initialize(); 31 static void Terminate(); 32 static ConstString GetPluginNameStatic(); 33 static const char *GetPluginDescriptionStatic(); 34 35 static DynamicLoader *CreateInstance(Process *process, bool force); 36 37 void DidAttach() override; 38 void DidLaunch() override; 39 Error CanLoadImage() override; 40 lldb::ThreadPlanSP GetStepThroughTrampolinePlan(Thread &thread, bool stop) override; 41 42 ConstString GetPluginName() override; 43 uint32_t GetPluginVersion() override; 44 }; 45 46 } // namespace lldb_private 47 48 #endif // liblldb_Plugins_Process_Windows_DynamicLoaderWindowsDYLD_h_ 49