diff --git a/interfaces/innerkits/backtrace/fp_backtrace.cpp b/interfaces/innerkits/backtrace/fp_backtrace.cpp index 90afe96a26d290273e088d46c909523c06a29673..3592a9420a6590b7944478778140868ca2b3c1a7 100644 --- a/interfaces/innerkits/backtrace/fp_backtrace.cpp +++ b/interfaces/innerkits/backtrace/fp_backtrace.cpp @@ -178,12 +178,10 @@ DfxFrame* FpBacktraceImpl::SymbolicAddress(void* pc) auto elf = frame->map->GetElf(); if (elf == nullptr) { unwinder_.FillJsFrame(*frame); - if (!frame->funcName.empty()) { - return frame.get(); - } + } else { + DfxSymbols::GetFuncNameAndOffsetByPc(frame->relPc, elf, frame->funcName, frame->funcOffset); + frame->buildId = elf->GetBuildId(); } - DfxSymbols::GetFuncNameAndOffsetByPc(frame->relPc, elf, frame->funcName, frame->funcOffset); - frame->buildId = elf->GetBuildId(); return frame.get(); } #endif