• Andy McFadden's avatar
    Show maps near native fault address · 136dcc5c
    Andy McFadden authored
    This adds some additional output to native crashes.  For example, if
    something tried to access a bit of mmap(/dev/zero) memory that had
    been mprotect()ed, you might see output like this:
    
    I DEBUG   : memory map around addr 4015a00c:
    I DEBUG   : 40159000-4015a000 /system/lib/libstdc++.so
    I DEBUG   : 4015a000-40162000 /dev/zero
    I DEBUG   : b0001000-b0009000 /system/bin/linker
    
    The idea is to see what's in and around the fault address to make it
    easier to identify bus errors due to file truncation and segmentation
    faults caused by buffer over/underruns.
    
    No output is generated for accesses below 0x1000 (which are likely
    NULL pointer dereferences) or for signals that don't set si_addr.
    
    Also, suppress the fault address for signals that don't set si_addr:
    I DEBUG   : signal 6 (SIGABRT), code 0 (?), fault addr --------
    
    We still print "fault addr" followed by 8 characters for anything
    that is parsing the contents.  The "address" shown for signals like
    SIGABRT was meaningless ...
    136dcc5c
utility.h 2.2 KB