LLDB mainline
MSVCRTCFrameRecognizer.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
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
9#ifndef LLDB_PLUGINS_PROCESS_WINDOWS_MSVCRTCFRAMERECOGNIZER_H
10#define LLDB_PLUGINS_PROCESS_WINDOWS_MSVCRTCFRAMERECOGNIZER_H
11
12#include "ProcessWindows.h"
14
15namespace lldb_private {
16
17/// Registers the MSVC run-time check failure frame recognizer with the target.
19
20/// Recognized stack frame for an MSVC _RTC failure. Carries the human-readable
21/// stop description extracted from failwithmessage's \c msg parameter.
23public:
24 MSVCRTCRecognizedFrame(std::string desc) { m_stop_desc = std::move(desc); }
25};
26
27/// Recognizes the MSVC CRT's \c failwithmessage frame, extracts the
28/// run-time check failure message from the \c msg parameter, and returns it
29/// as the thread stop description.
31public:
32 std::string GetName() override {
33 return "MSVC Run-Time Check Failure Recognizer";
34 }
36 RecognizeFrame(lldb::StackFrameSP frame_sp) override;
37};
38
39} // namespace lldb_private
40
41#endif // LLDB_PLUGINS_PROCESS_WINDOWS_MSVCRTCFRAMERECOGNIZER_H
Recognizes the MSVC CRT's failwithmessage frame, extracts the run-time check failure message from the...
lldb::RecognizedStackFrameSP RecognizeFrame(lldb::StackFrameSP frame_sp) override
This class provides extra information about a stack frame that was provided by a specific stack frame...
A base class for frame recognizers.
A class that represents a running process on the host machine.
void RegisterMSVCRTCFrameRecognizer(ProcessWindows &process)
Registers the MSVC run-time check failure frame recognizer with the target.
std::shared_ptr< lldb_private::StackFrame > StackFrameSP
std::shared_ptr< lldb_private::RecognizedStackFrame > RecognizedStackFrameSP