[Lldb-commits] [PATCH] D146765: [lldb/crashlog] Load inlined symbol into interactive crashlog
Med Ismail Bennani via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Mar 23 15:57:36 PDT 2023
mib added inline comments.
================
Comment at: lldb/examples/python/crashlog.py:540
+ image = self.get_used_image(image_id)
frame_offset = int(json_frame['imageOffset'])
----------------
bulbazord wrote:
> is `image` not the same as `json_image` from a few lines above this?
+1
================
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()
----------------
bulbazord wrote:
> What is the difference between `frame_ofs` and `frame_offset`?
`frame_ofs` is actually the `frame symbol name`. I guess I should rename this for more clarity.
Some stack frame might have a symbol name and a offset, other might know have a symbol name.
Now that I'm thinking about this, I'm not sure if a crash report could be already symbolicated (i.e. `symbol:line:column`). In that case I think it will be pretty tricky to get the symbol address from the source info.
================
Comment at: lldb/examples/python/crashlog.py:669
+ r'(0x[0-9a-fA-F]{4,}) +' # addr (4 chars or more)
+ r'((.*)(?:(?: +\+ +)([0-9]+))|[^\s]+)' # symbol + offset
)
----------------
kastiglione wrote:
> mib wrote:
> > @kastiglione may be you have a better idea how to handle `symbol + offset` where ` + offset` might be optional.
> symbol is always present?
Technically, in the past the `offs` (symbol + offset) was optional:
```
r'(?: +(.*))?'
```
So I guess `symbol` could be missing.
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