diff options
author | Chih-Hung Hsieh <chh@google.com> | 2018-05-11 16:01:21 -0700 |
---|---|---|
committer | Chih-Hung Hsieh <chh@google.com> | 2018-05-14 11:07:54 -0700 |
commit | 3249b3a8dd37ed16b4819e941989d945f6571673 (patch) | |
tree | 6895bad384afd6cb583c70728a4b08b93edb488b | |
parent | c8dd6b74e66ee02132e9d2094675974f5285666a (diff) | |
download | system_core-3249b3a8dd37ed16b4819e941989d945f6571673.tar.gz system_core-3249b3a8dd37ed16b4819e941989d945f6571673.tar.bz2 system_core-3249b3a8dd37ed16b4819e941989d945f6571673.zip |
Expect optional (offset ...) in frame dump.
* New lld could create files that map to non-zero
offset at run time.
Test: debuggerd_test
Bug: 79590156
Change-Id: I12db0ebef489ba8a1e648a29d214f8d3c3703996
-rw-r--r-- | debuggerd/debuggerd_test.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/debuggerd/debuggerd_test.cpp b/debuggerd/debuggerd_test.cpp index 9b64be70f..dfb7a6a7c 100644 --- a/debuggerd/debuggerd_test.cpp +++ b/debuggerd/debuggerd_test.cpp @@ -80,8 +80,13 @@ constexpr char kWaitForGdbKey[] = "debug.debuggerd.wait_for_gdb"; return value; \ }() +// Backtrace frame dump could contain: +// #01 pc 0001cded /data/tmp/debuggerd_test32 (raise_debugger_signal+80) +// or +// #01 pc 00022a09 /data/tmp/debuggerd_test32 (offset 0x12000) (raise_debugger_signal+80) #define ASSERT_BACKTRACE_FRAME(result, frame_name) \ - ASSERT_MATCH(result, R"(#\d\d pc [0-9a-f]+\s+ \S+ \()" frame_name R"(\+)"); + ASSERT_MATCH(result, \ + R"(#\d\d pc [0-9a-f]+\s+ \S+ (\(offset 0x[0-9a-f]+\) )?\()" frame_name R"(\+)"); static void tombstoned_intercept(pid_t target_pid, unique_fd* intercept_fd, unique_fd* output_fd, InterceptStatus* status, DebuggerdDumpType intercept_type) { |