Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:42:56

0001 #ifndef LLDB_TARGET_VERBOSETRAPFRAMERECOGNIZER_H
0002 #define LLDB_TARGET_VERBOSETRAPFRAMERECOGNIZER_H
0003 
0004 #include "lldb/Target/StackFrameRecognizer.h"
0005 
0006 namespace lldb_private {
0007 
0008 void RegisterVerboseTrapFrameRecognizer(Process &process);
0009 
0010 /// Holds the stack frame that caused the Verbose trap and the inlined stop
0011 /// reason message.
0012 class VerboseTrapRecognizedStackFrame : public RecognizedStackFrame {
0013 public:
0014   VerboseTrapRecognizedStackFrame(lldb::StackFrameSP most_relevant_frame_sp,
0015                                   std::string stop_desc);
0016 
0017   lldb::StackFrameSP GetMostRelevantFrame() override;
0018 
0019 private:
0020   lldb::StackFrameSP m_most_relevant_frame;
0021 };
0022 
0023 /// When a thread stops, it checks the current frame contains a
0024 /// Verbose Trap diagnostic. If so, it returns a \a
0025 /// VerboseTrapRecognizedStackFrame holding the diagnostic a stop reason
0026 /// description with and the parent frame as the most relavant frame.
0027 class VerboseTrapFrameRecognizer : public StackFrameRecognizer {
0028 public:
0029   std::string GetName() override {
0030     return "Verbose Trap StackFrame Recognizer";
0031   }
0032 
0033   lldb::RecognizedStackFrameSP
0034   RecognizeFrame(lldb::StackFrameSP frame) override;
0035 };
0036 
0037 } // namespace lldb_private
0038 
0039 #endif // LLDB_TARGET_VERBOSETRAPFRAMERECOGNIZER_H