Allow getting an uncached process map.
Change-Id: I58d7e90a7b5c4476a4b9f51640c54d13748ac220
This commit is contained in:
parent
3679d5f49a
commit
f02593b0e6
|
@ -41,7 +41,10 @@ struct backtrace_map_t {
|
|||
|
||||
class BacktraceMap {
|
||||
public:
|
||||
static BacktraceMap* Create(pid_t pid);
|
||||
// If uncached is true, then parse the current process map as of the call.
|
||||
// Passing a map created with uncached set to true to Backtrace::Create()
|
||||
// is unsupported.
|
||||
static BacktraceMap* Create(pid_t pid, bool uncached = false);
|
||||
|
||||
virtual ~BacktraceMap();
|
||||
|
||||
|
|
|
@ -130,9 +130,13 @@ const backtrace_map_t* UnwindMapLocal::Find(uintptr_t addr) {
|
|||
//-------------------------------------------------------------------------
|
||||
// BacktraceMap create function.
|
||||
//-------------------------------------------------------------------------
|
||||
BacktraceMap* BacktraceMap::Create(pid_t pid) {
|
||||
BacktraceMap* BacktraceMap::Create(pid_t pid, bool uncached) {
|
||||
BacktraceMap* map;
|
||||
if (pid == getpid()) {
|
||||
|
||||
if (uncached) {
|
||||
// Force use of the base class to parse the maps when this call is made.
|
||||
map = new BacktraceMap(pid);
|
||||
} else if (pid == getpid()) {
|
||||
map = new UnwindMapLocal();
|
||||
} else {
|
||||
map = new UnwindMap(pid);
|
||||
|
|
Loading…
Reference in New Issue