SingleAccretion opened issue #9855:
Currently, for instance methods,
this
pointers are translated like all other pointers - wrapped in the synthetic types. However, this breaks LLDB's ability to do anything with them as it expectsthis
to be a proper pointer.(There are still ways to inspect the underlying data, of course, but they're more clunky than just
p Member
.)The proposed fix, consistent with the existing system, would be to rename
this
and effectively transform all instance methods into static ones.The user experience would then be
p __this->Member
instead ofp Member
.A more ambitious alternative is to translate it into a proper pointer. Unlike for a number of other cases, we _can_ do that (since we have the frame context available), but it's a bit more complicated (need to intelligently intersect ranges of
__vmctx
with those ofthis
) and more importantly, it wouldn't be consistent with how the rest of the system operates.
alexcrichton added the wasmtime:debugging label to Issue #9855.
Last updated: Dec 23 2024 at 13:07 UTC