[Lldb-commits] [PATCH] D111339: [lldb] Parse and display reporting errors from JSON crashlogs
Jonas Devlieghere via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Oct 7 15:54:12 PDT 2021
This revision was automatically updated to reflect the committed changes.
Closed by commit rGb225c5f7861c: [lldb] Parse and display reporting errors from JSON crashlogs (authored by JDevlieghere).
Herald added a project: LLDB.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D111339/new/
https://reviews.llvm.org/D111339
Files:
lldb/examples/python/crashlog.py
lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.ips
lldb/test/Shell/ScriptInterpreter/Python/Crashlog/json.test
Index: lldb/test/Shell/ScriptInterpreter/Python/Crashlog/json.test
===================================================================
--- lldb/test/Shell/ScriptInterpreter/Python/Crashlog/json.test
+++ lldb/test/Shell/ScriptInterpreter/Python/Crashlog/json.test
@@ -13,3 +13,5 @@
# CHECK: [ 1] {{.*}}out`bar + 8 at test.c
# CHECK: [ 2] {{.*}}out`main + 19 at test.c
# CHECK: rbp = 0x00007ffeec22a530
+# CHECK: invalid foo
+# CHECK: invalid bar
Index: lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.ips
===================================================================
--- lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.ips
+++ lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.ips
@@ -170,5 +170,9 @@
"threadTriggered" : {
"queue" : "com.apple.main-thread"
}
-}
+},
+ "reportNotes" : [
+ "invalid foo",
+ "invalid bar"
+]
}
Index: lldb/examples/python/crashlog.py
===================================================================
--- lldb/examples/python/crashlog.py
+++ lldb/examples/python/crashlog.py
@@ -334,6 +334,7 @@
self.threads = list()
self.backtraces = list() # For application specific backtraces
self.idents = list() # A list of the required identifiers for doing all stack backtraces
+ self.errors = list()
self.crashed_thread_idx = -1
self.version = -1
self.target = None
@@ -437,6 +438,7 @@
self.parse_process_info(self.data)
self.parse_images(self.data['usedImages'])
self.parse_threads(self.data['threads'])
+ self.parse_errors(self.data)
thread = self.crashlog.threads[self.crashlog.crashed_thread_idx]
reason = self.parse_crash_reason(self.data['exception'])
if thread.reason:
@@ -528,6 +530,10 @@
pass
return registers
+ def parse_errors(self, json_data):
+ if 'reportNotes' in json_data:
+ self.crashlog.errors = json_data['reportNotes']
+
class CrashLogParseMode:
NORMAL = 0
@@ -1067,6 +1073,11 @@
thread.dump_symbolicated(crash_log, options)
print()
+ if crash_log.errors:
+ print("Errors:")
+ for error in crash_log.errors:
+ print(error)
+
def CreateSymbolicateCrashLogOptions(
command_name,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111339.378035.patch
Type: text/x-patch
Size: 2353 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20211007/d1d6dce3/attachment-0001.bin>
More information about the lldb-commits
mailing list