summaryrefslogtreecommitdiffstats
path: root/libbacktrace/BacktraceMap.cpp
diff options
context:
space:
mode:
authorYabin Cui <yabinc@google.com>2015-09-22 04:46:57 +0000
committerYabin Cui <yabinc@google.com>2015-09-22 04:46:57 +0000
commit9e402bb20cb868577e5588d8323363411655291b (patch)
treeb21082ce26df5d7115f364ccb57d57f77e6bb4f2 /libbacktrace/BacktraceMap.cpp
parent94ece83270deca76c69f5755f8c0ff5c859341fd (diff)
downloadsystem_core-9e402bb20cb868577e5588d8323363411655291b.tar.gz
system_core-9e402bb20cb868577e5588d8323363411655291b.tar.bz2
system_core-9e402bb20cb868577e5588d8323363411655291b.zip
Revert "Revert "Revert "Revert "Add BacktraceOffline for offline backtracing.""""
This reverts commit 94ece83270deca76c69f5755f8c0ff5c859341fd. Change-Id: Ie06465c89a5fc115517130f9f2904cc855973155
Diffstat (limited to 'libbacktrace/BacktraceMap.cpp')
-rw-r--r--libbacktrace/BacktraceMap.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/libbacktrace/BacktraceMap.cpp b/libbacktrace/BacktraceMap.cpp
index ca47f6781..eac20fe29 100644
--- a/libbacktrace/BacktraceMap.cpp
+++ b/libbacktrace/BacktraceMap.cpp
@@ -144,3 +144,13 @@ BacktraceMap* BacktraceMap::Create(pid_t pid, bool /*uncached*/) {
return map;
}
#endif
+
+BacktraceMap* BacktraceMap::Create(pid_t pid, const std::vector<backtrace_map_t>& maps) {
+ BacktraceMap* backtrace_map = new BacktraceMap(pid);
+ backtrace_map->maps_.insert(backtrace_map->maps_.begin(), maps.begin(), maps.end());
+ std::sort(backtrace_map->maps_.begin(), backtrace_map->maps_.end(),
+ [](const backtrace_map_t& map1, const backtrace_map_t& map2) {
+ return map1.start < map2.start;
+ });
+ return backtrace_map;
+}