From 8fe5836c02d3e0399c2246e67fc33ff5d4aa0032 Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Fri, 26 Jan 2018 14:26:13 -0800 Subject: [PATCH] Fix frame numbering regression. Test: All unit tests now pass. Change-Id: I280dfbbed3f835c826788b80ff4abb22bea7dc59 --- libbacktrace/UnwindStack.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libbacktrace/UnwindStack.cpp b/libbacktrace/UnwindStack.cpp index c5dd45b86..c5d498cb8 100644 --- a/libbacktrace/UnwindStack.cpp +++ b/libbacktrace/UnwindStack.cpp @@ -139,8 +139,8 @@ bool Backtrace::Unwind(unwindstack::Regs* regs, BacktraceMap* back_map, // #8 pc 0015fa20 core.vdex java.util.Arrays.binarySearch+8 // #9 pc 0039a1ef libartd.so art::interpreter::Execute+719 if (frame->dex_pc != 0) { - backtrace_frame_data_t* dex_frame = &frames->at(cur_frame++); - dex_frame->num = cur_frame; + backtrace_frame_data_t* dex_frame = &frames->at(cur_frame); + dex_frame->num = cur_frame++; dex_frame->pc = frame->dex_pc; dex_frame->rel_pc = frame->dex_pc; dex_frame->sp = frame->sp; @@ -149,9 +149,9 @@ bool Backtrace::Unwind(unwindstack::Regs* regs, BacktraceMap* back_map, FillInDexFrame(stack_map, frame->dex_pc, dex_frame); } - backtrace_frame_data_t* back_frame = &frames->at(cur_frame++); + backtrace_frame_data_t* back_frame = &frames->at(cur_frame); - back_frame->num = cur_frame; + back_frame->num = cur_frame++; back_frame->rel_pc = frame->rel_pc; back_frame->pc = frame->pc;