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/Target/DynamicLoader.h" 18 #include "lldb/lldb-forward.h" 19 20 namespace lldb_private { 21 22 class DynamicLoaderWindowsDYLD : public DynamicLoader { 23 public: 24 DynamicLoaderWindowsDYLD(Process *process); 25 26 ~DynamicLoaderWindowsDYLD() override; 27 28 static void Initialize(); 29 static void Terminate(); 30 static ConstString GetPluginNameStatic(); 31 static const char *GetPluginDescriptionStatic(); 32 33 static DynamicLoader *CreateInstance(Process *process, bool force); 34 35 void DidAttach() override; 36 void DidLaunch() override; 37 Error CanLoadImage() override; 38 lldb::ThreadPlanSP GetStepThroughTrampolinePlan(Thread &thread, 39 bool stop) override; 40 41 ConstString GetPluginName() override; 42 uint32_t GetPluginVersion() override; 43 }; 44 45 } // namespace lldb_private 46 47 #endif // liblldb_Plugins_Process_Windows_DynamicLoaderWindowsDYLD_h_ 48