kubamracek added a comment. > This seems like it is two patches, one fixing the NSCallStackArray data > formatter, and one extracting fields from NSException. Is that right. I'm > more asking to make sure I'm not missing something about this patch.
I'll split the patch. There's actually probably 3 more-or-less independent parts: 1) NFC refactoring of NSException.cpp, 2) extracting fields from NSException, 3) NSCallStackArray data formatter. ================ Comment at: source/Plugins/Language/ObjC/NSException.cpp:57-64 + auto name = process_sp->ReadPointerFromMemory(ptr + 1 * ptr_size, error); + if (error.Fail() || name == LLDB_INVALID_ADDRESS) return false; + auto reason = process_sp->ReadPointerFromMemory(ptr + 2 * ptr_size, error); + if (error.Fail() || reason == LLDB_INVALID_ADDRESS) return false; + auto userinfo = process_sp->ReadPointerFromMemory(ptr + 3 * ptr_size, error); + if (error.Fail() || reason == LLDB_INVALID_ADDRESS) return false; + auto reserved = process_sp->ReadPointerFromMemory(ptr + 4 * ptr_size, error); ---------------- jingham wrote: > davide wrote: > > kubamracek wrote: > > > davide wrote: > > > > The fact we have to calculate this by hand is slightly annoying, but I > > > > guess that's a bug to fix another day. > > > I'll be happy to send follow-up patches. Do you have suggestions how to > > > avoid these manual pointer calculations? > > The way we do that in swift (or well, we're trying to do) is that of using > > remote mirrors. I'm not really aware of an equivalent mechanism in Obj-C, > > FWIW, but we should definitely think about it and have a chat (if you want, > > I don't think you should be signed up for cleaning up this). > It looks like we generally have a type for NSException - it's an ObjC class > so we'll read it out of the runtime if we can't get it from debug > information. You should be able to get the offsets from that rather than > having to hand code them here. Does reading the offsets need to run the target or is it just inspecting memory? https://reviews.llvm.org/D43884 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits