android_system_core/libunwindstack/include/unwindstack
Christopher Ferris e328673a30 Add method to detect remote read function to use.
The process_vm_read function is much faster than ptrace, but sometimes
that will not work on a remote process. Modify the libunwindstack
MemoryRemote object to figure out which one it can use.

Wrote new unit test to verify this checking behavior.

Modify libbacktrace so that the read from libunwind is used instead of
using the default ptrace calls.

Add some benchmarks to libbacktrace to compare the two different methods.

Test: Ran unit tests libbacktrace/libunwindstack/debuggerd.
Test: Ran debuggerd -b <SYSTEM_SERVER_PID>
Test: Ran debuggerd -b <MEDIACODEC PID>
Test: Ran debuggerd -b <RANDOM_PID>
Test: Used crasher to create tombstones and verified stack data is
Test: dumped properly.
Change-Id: If75ca238289532dd8e1de430d569cabb2523380a
2017-12-07 19:00:00 -08:00
..
DwarfLocation.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00
DwarfMemory.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00
DwarfSection.h Add support for only a .eh_frame. 2017-11-07 13:22:39 -08:00
DwarfStructs.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00
Elf.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
ElfInterface.h Demand read load bias for a map. 2017-12-05 13:12:47 -08:00
Log.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00
MapInfo.h Demand read load bias for a map. 2017-12-05 13:12:47 -08:00
Maps.h Allow multiple threads sharing a map to unwind. 2017-11-28 15:20:38 -08:00
Memory.h Add method to detect remote read function to use. 2017-12-07 19:00:00 -08:00
Regs.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
RegsArm.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
RegsArm64.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
RegsGetLocal.h Allow multiple threads sharing a map to unwind. 2017-11-28 15:20:38 -08:00
RegsX86.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
RegsX86_64.h Split arch data into separate files. 2017-12-06 16:01:40 -08:00
Unwinder.h Fix incorrect usage of relative pcs. 2017-11-29 16:10:08 -08:00