1 //===-- ThreadMinidump.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_ThreadMinidump_h_ 11 #define liblldb_ThreadMinidump_h_ 12 13 #include "MinidumpTypes.h" 14 15 #include "lldb/Target/Thread.h" 16 17 18 namespace lldb_private { 19 20 namespace minidump { 21 22 class ThreadMinidump : public Thread { 23 public: 24 ThreadMinidump(Process &process, const MinidumpThread &td, 25 llvm::ArrayRef<uint8_t> gpregset_data); 26 27 ~ThreadMinidump() override; 28 29 void RefreshStateAfterStop() override; 30 31 lldb::RegisterContextSP GetRegisterContext() override; 32 33 lldb::RegisterContextSP 34 CreateRegisterContextForFrame(StackFrame *frame) override; 35 36 protected: 37 lldb::RegisterContextSP m_thread_reg_ctx_sp; 38 llvm::ArrayRef<uint8_t> m_gpregset_data; 39 40 bool CalculateStopInfo() override; 41 }; 42 43 } // namespace minidump 44 } // namespace lldb_private 45 46 #endif // liblldb_ThreadMinidump_h_ 47