jingham added a comment.
If you can get the address of the bad access from the signal, you could also
check that it was 0x0 and only suppress the SIGSEGV if it is?
Also, do you want to put in a setting to turn this behavior off? If the code
in any of the files of this type were to crash for some other reason than a
Java NULL dereference, you'd have no way to use lldb to debug the issue. lldb
will just auto-continue and then either the program will terminate because the
SIGSEGV handler doesn't handle this signal or the SIGSEGV handler will crash or
whatever... That will be too late to be useful.
But I don't know anything about how these .oat and .dex/.odex files are
constructed, and maybe they can't crash for any other reason than emulating a
Java NULL access, in which case this looks fine.
================
Comment at: source/Plugins/Platform/Android/PlatformAndroid.cpp:424
+ // We are lookking for .dex, .odex, and .oat files.
+ if (ext_ref.endswith("dex") || ext_ref.endswith("oat")) {
+ // We have a SIGSEGV we need to mute
----------------
Given that this is a pretty big behavior change, I would exactly match on the
three extensions rather than use endswith, so it only affects the file types
you care about.
https://reviews.llvm.org/D48177
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits