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