clang 20.0.0 (based on r547379) from build 12806354. Bug: http://b/379133546 Test: N/A Change-Id: I2eb8938af55d809de674be63cb30cf27e801862b Upstream-Commit: ad834e67b1105d15ef907f6255d4c96e8e733f57
40 lines
1.2 KiB
C++
40 lines
1.2 KiB
C++
#ifndef LLDB_TARGET_VERBOSETRAPFRAMERECOGNIZER_H
|
|
#define LLDB_TARGET_VERBOSETRAPFRAMERECOGNIZER_H
|
|
|
|
#include "lldb/Target/StackFrameRecognizer.h"
|
|
|
|
namespace lldb_private {
|
|
|
|
void RegisterVerboseTrapFrameRecognizer(Process &process);
|
|
|
|
/// Holds the stack frame that caused the Verbose trap and the inlined stop
|
|
/// reason message.
|
|
class VerboseTrapRecognizedStackFrame : public RecognizedStackFrame {
|
|
public:
|
|
VerboseTrapRecognizedStackFrame(lldb::StackFrameSP most_relevant_frame_sp,
|
|
std::string stop_desc);
|
|
|
|
lldb::StackFrameSP GetMostRelevantFrame() override;
|
|
|
|
private:
|
|
lldb::StackFrameSP m_most_relevant_frame;
|
|
};
|
|
|
|
/// When a thread stops, it checks the current frame contains a
|
|
/// Verbose Trap diagnostic. If so, it returns a \a
|
|
/// VerboseTrapRecognizedStackFrame holding the diagnostic a stop reason
|
|
/// description with and the parent frame as the most relavant frame.
|
|
class VerboseTrapFrameRecognizer : public StackFrameRecognizer {
|
|
public:
|
|
std::string GetName() override {
|
|
return "Verbose Trap StackFrame Recognizer";
|
|
}
|
|
|
|
lldb::RecognizedStackFrameSP
|
|
RecognizeFrame(lldb::StackFrameSP frame) override;
|
|
};
|
|
|
|
} // namespace lldb_private
|
|
|
|
#endif // LLDB_TARGET_VERBOSETRAPFRAMERECOGNIZER_H
|