8
8
9
9
#include " lldb/Utility/LLDBLog.h"
10
10
#include " lldb/Utility/Log.h"
11
+ #include < filesystem>
11
12
12
13
using namespace llvm ;
13
14
using namespace lldb ;
@@ -55,13 +56,17 @@ VerboseTrapFrameRecognizer::RecognizeFrame(lldb::StackFrameSP frame_sp) {
55
56
if (!inline_info)
56
57
return {};
57
58
58
- auto runtime_error = inline_info->GetName ().GetString ();
59
-
60
- if (runtime_error.empty ())
59
+ auto error_message = inline_info->GetName ().GetString ();
60
+ if (error_message.empty ())
61
61
return {};
62
62
63
+ // Replaces "__llvm_verbose_trap :" with "Runtime Error: "
64
+ auto space_position = error_message.find (" " );
65
+ assert (space_position != std::string::npos);
66
+ error_message.replace (0 , space_position, " Runtime Error:" );
67
+
63
68
return lldb::RecognizedStackFrameSP (new VerboseTrapRecognizedStackFrame (
64
- most_relevant_frame_sp, std::move (runtime_error )));
69
+ most_relevant_frame_sp, std::move (error_message )));
65
70
}
66
71
67
72
lldb::StackFrameSP VerboseTrapRecognizedStackFrame::GetMostRelevantFrame () {
@@ -73,7 +78,7 @@ namespace lldb_private {
73
78
void RegisterVerboseTrapFrameRecognizer (Process &process) {
74
79
RegularExpressionSP module_regex_sp = nullptr ;
75
80
RegularExpressionSP symbol_regex_sp (
76
- new RegularExpression (" ( __llvm_verbose_trap) " ));
81
+ new RegularExpression (" ^ __llvm_verbose_trap: " ));
77
82
78
83
StackFrameRecognizerSP srf_recognizer_sp =
79
84
std::make_shared<VerboseTrapFrameRecognizer>();
0 commit comments