1//===-- AbortWithPayloadFrameRecognizer.h -----------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8#ifndef LLDB_MACOSX_ABORTWITHPAYLOADFRAMERECOGNIZER_H
9#define LLDB_MACOSX_ABORTWITHPAYLOADFRAMERECOGNIZER_H
10
11#include "lldb/Target/Process.h"
12#include "lldb/Target/StackFrameRecognizer.h"
13#include "lldb/Utility/ConstString.h"
14#include "lldb/Utility/FileSpec.h"
15
16#include <tuple>
17
18namespace lldb_private {
19
20void RegisterAbortWithPayloadFrameRecognizer(Process *process);
21
22class AbortWithPayloadRecognizedStackFrame : public RecognizedStackFrame {
23public:
24 AbortWithPayloadRecognizedStackFrame(lldb::StackFrameSP &frame_sp,
25 lldb::ValueObjectListSP &args_sp);
26};
27
28class AbortWithPayloadFrameRecognizer : public StackFrameRecognizer {
29public:
30 std::string GetName() override {
31 return "abort_with_payload StackFrame Recognizer";
32 }
33 lldb::RecognizedStackFrameSP
34 RecognizeFrame(lldb::StackFrameSP frame_sp) override;
35};
36} // namespace lldb_private
37
38#endif // LLDB_MACOSX_ABORTWITHPAYLOADFRAMERECOGNIZER_H
39

source code of lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.h