One picky comment about the test, otherwise this looks good to me. Pavel had his hands in this code most recently, however, so we should wait on his opinion.
Can you use lldbutil.run_to_source_breakpoint to do this? Like:
lldbutil.run_to_source_breakpoint(self, "//Set break point at this line", self.source)
Thanks for adding the test.
I guess I've touched this bit when I was working on the dwarf5 index thingy, but all my memory of this function has already been swapped out (and I'm not sure I ever fully understood all the nuances of how it was supposed to work).
So yeah, I think this is fine but I don't feel very qualified to make that claim.
I don't think this bug applies here, as we're inspecting a running process, though we don't have any arm64 bots running ATM to verify that. I'd just remove this XFAIL.