[Lldb-commits] [PATCH] D146765: [lldb/crashlog] Load inlined symbol into interactive crashlog
Alex Langford via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Mar 23 15:50:27 PDT 2023
bulbazord added inline comments.
================
Comment at: lldb/examples/python/crashlog.py:540
+ image = self.get_used_image(image_id)
frame_offset = int(json_frame['imageOffset'])
----------------
is `image` not the same as `json_image` from a few lines above this?
================
Comment at: lldb/examples/python/crashlog.py:552-557
+ self.symbol_data[image_uuid]["symbols"].append({
+ "name": json_frame['symbol'],
+ "type": "code",
+ "size": 0,
+ "address": pc,
+ })
----------------
mib wrote:
> Same problem here I guess: IIUC if `pc = image['base'] + frame_offset`, then I believe `frame_offset` is not the address of the beginning of the function, but rather an address in the middle of the function (either at a callsite, or at the crash site).
Yeah so `pc` is definitely not the right address of the symbol. It should be `pc - frame_offset` right?
================
Comment at: lldb/examples/python/crashlog.py:606-611
+ if len(frame_match.groups()) == 4:
+ (frame_id, frame_img_name, frame_addr,
+ frame_ofs) = frame_match.groups()
+ else:
+ (frame_id, frame_img_name, frame_addr,
+ frame_ofs, frame_symbol, frame_offset) = frame_match.groups()
----------------
What is the difference between `frame_ofs` and `frame_offset`?
================
Comment at: lldb/examples/python/crashlog.py:1175-1176
+ if crashlog_parser.__class__ == JSONCrashLogParser:
+ u = uuid.UUID(image)
+ module_spec.SetUUIDFromString(u.hex)
+ else:
----------------
Are these indented too much?
================
Comment at: lldb/examples/python/crashlog.py:1194-1195
+ if not result.Succeeded():
+ raise InteractiveCrashLogException("couldn't import crash report \
+ inlined symbols for %s (%s)" %
+ (module.file.basename,
----------------
Won't this string look like `"couldn't import crash report inlined symbols for %s (%s)"`? You could probably just do string concatenation instead.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146765/new/
https://reviews.llvm.org/D146765
More information about the lldb-commits
mailing list