The lldb command jlh has stopped working for me. At the moment this is what happens if I run it:
(lldb) jlh arg
(The output is just a blank line). The expected output in this case would be:
(lldb) jlh arg
#undefined
Looking at lldb_commands.py this cast seems to be the issue, at least for the jlh command and removing it fixes the issue for me.
I know that we don't maintain lldb_commands.py but I wanted to ask if anyone else has run into this before looking into it closer and perhaps opening an issue upstream.
I think I've ran into this in the v8 upstream and I had to take some ptr_ value out of some types heavily wrapped into some Torque types first, instead of just casting the original pointer and passing it to _v8_internal_Print_Object().
V8 doesn't use heap classes as pointers to the heap anymore. Instead, those classes are concrete C++ objects with a ptr_ field. This was part of a larger initiative to make V8 UBSAN-compliant, the commits which lead to this change can be seen in the tracking issue: https://bugs.chromium.org/p/v8/issues/detail?id=3770&q=3770&can=2. Design document to move from object pointers to concrete objects can be found here: https://docs.google.com/document/d/1_w49sakC1XM1OptjTurBDqO86NE16FH8LwbeUAtrbCo/edit#heading=h.8wg7tpqbpt7m
I'll close this as answered, but feel free to reopen if you want.
I've opened a pull request for the lldb jlh command issue in V8:
https://chromium-review.googlesource.com/c/v8/v8/+/2083477/2
In the meantime, the gdb shortcuts work great.