/base/hiviewdfx/faultloggerd/interfaces/innerkits/unwinder/ |
H A D | dfx_frame_formatter.cpp | 34 std::string DfxFrameFormatter::GetFrameStr(const DfxFrame& frame) in GetFrameStr() argument 36 return GetFrameStr(std::make_shared<DfxFrame>(frame)); in GetFrameStr() 39 std::string DfxFrameFormatter::GetFrameStr(const std::shared_ptr<DfxFrame>& frame) in GetFrameStr() argument 41 if (frame == nullptr) { in GetFrameStr() 45 if (frame->isJsFrame) { in GetFrameStr() 47 if (frame->funcName.empty()) { in GetFrameStr() 48 std::string mapName = frame->map == nullptr ? "" : frame->map->name; in GetFrameStr() 49 data = StringPrintf("#%02zu at %s", frame->index, mapName.c_str()); in GetFrameStr() 51 data = StringPrintf("#%02zu at %s (%s:%d:%d)", frame in GetFrameStr() [all...] |
H A D | unwinder.cpp | 179 void AddFrame(DfxFrame& frame); 186 void FillFrame(DfxFrame& frame); 187 void FillJsFrame(DfxFrame& frame); 188 bool GetFrameByPc(uintptr_t pc, std::shared_ptr<DfxMaps> maps, DfxFrame& frame); 229 void AddFrame(const StepFrame& frame, std::shared_ptr<DfxMap> map); 230 bool StepInner(const bool isSigFrame, StepFrame& frame, void *ctx); 233 bool StepArkJsFrame(StepFrame& frame); 389 void Unwinder::AddFrame(DfxFrame& frame) in AddFrame() argument 391 impl_->AddFrame(frame); in AddFrame() 409 void Unwinder::FillFrame(DfxFrame& frame) in FillFrame() argument 414 FillJsFrame(DfxFrame& frame) FillJsFrame() argument 419 GetFrameByPc(uintptr_t pc, std::shared_ptr<DfxMaps> maps, DfxFrame& frame) GetFrameByPc() argument 669 StepArkJsFrame(StepFrame& frame) StepArkJsFrame() argument 752 StepFrame frame; Unwind() local 880 StepFrame frame; Step() local 896 StepInner(const bool isSigFrame, StepFrame& frame, void *ctx) StepInner() argument 1154 AddFrame(const StepFrame& frame, std::shared_ptr<DfxMap> map) AddFrame() argument 1176 AddFrame(DfxFrame& frame) AddFrame() argument 1205 auto& frame = frames[i]; FillFrames() local 1216 FillFrame(DfxFrame& frame) FillFrame() argument 1243 FillJsFrame(DfxFrame& frame) FillJsFrame() argument 1279 GetFrameByPc(uintptr_t pc, std::shared_ptr<DfxMaps> maps, DfxFrame &frame) GetFrameByPc() argument 1329 DfxFrame frame; GetFramesByPcs() local 1349 DfxFrame frame; GetLocalFramesByPcs() local 1383 auto frame = reinterpret_cast<DfxFrame *>(data); DlPhdrCallback() local [all...] |
/base/hiviewdfx/faultloggerd/tools/process_dump/ |
H A D | dfx_stack_info_formatter.cpp | 38 void FillJsFrame(const DfxFrame& frame, Json::Value& jsonInfo) in FillJsFrame() argument 41 frameJson["file"] = frame.mapName; in FillJsFrame() 42 frameJson["symbol"] = frame.funcName; in FillJsFrame() 43 frameJson["line"] = frame.line; in FillJsFrame() 44 frameJson["column"] = frame.column; in FillJsFrame() 146 for (const auto& frame : threadFrames) { in FillFrames() 147 if (frame.isJsFrame) { in FillFrames() 148 FillJsFrame(frame, jsonInfo); in FillFrames() 151 FillNativeFrame(frame, jsonInfo); in FillFrames() 153 if (Printer::IsLastValidFrame(frame)) { in FillFrames() 161 FillNativeFrame(const DfxFrame& frame, Json::Value& jsonInfo) const FillNativeFrame() argument [all...] |
H A D | dfx_fault_stack.cpp | 107 auto frame = frames.at(index); in CollectStackInfo() local 108 uintptr_t curSp = static_cast<uintptr_t>(frame.sp); in CollectStackInfo() 134 const auto& frame = frames.back(); in CreateBlockForCorruptedStack() local 136 if (frame.mapName.find("ld-musl") != std::string::npos || in CreateBlockForCorruptedStack() 137 frame.mapName.find("ffrt") != std::string::npos || in CreateBlockForCorruptedStack() 138 frame.mapName.find("bin") != std::string::npos) { in CreateBlockForCorruptedStack() 142 AdjustAndCreateMemoryBlock(frame.index, frame.sp, prevEndAddr, size); in CreateBlockForCorruptedStack() 291 DfxFrame frame; in ParseUnwindStack() local 292 frame in ParseUnwindStack() [all...] |
H A D | printer.cpp | 193 bool Printer::IsLastValidFrame(const DfxFrame& frame) in IsLastValidFrame() argument 197 if (((libcStartPc != 0) && (frame.pc == libcStartPc)) || in IsLastValidFrame() 198 ((libffrtStartEntry != 0) && (frame.pc == libffrtStartEntry))) { in IsLastValidFrame() 202 if (frame.mapName.find("ld-musl-aarch64.so.1") != std::string::npos && in IsLastValidFrame() 203 frame.funcName.find("start") != std::string::npos) { in IsLastValidFrame() 204 libcStartPc = frame.pc; in IsLastValidFrame() 208 if (frame.mapName.find("libffrt") != std::string::npos && in IsLastValidFrame() 209 frame.funcName.find("CoStartEntry") != std::string::npos) { in IsLastValidFrame() 210 libffrtStartEntry = frame.pc; in IsLastValidFrame() 226 for (const auto& frame in PrintThreadBacktraceByConfig() [all...] |
H A D | dfx_thread.cpp | 72 void DfxThread::AddFrame(DfxFrame& frame) in AddFrame() argument 74 frames_.emplace_back(frame); in AddFrame() 85 return "No frame info"; in ToString() 91 for (const auto& frame : frames_) { in ToString() 92 if (frame.index == 0) { in ToString() 103 ss += DfxFrameFormatter::GetFrameStr(frame); in ToString() 105 if (Printer::IsLastValidFrame(frame)) { in ToString()
|
H A D | dfx_unwind_async_thread.cpp | 146 DfxFrame frame; in UnwindThreadFallback() 147 frame.pc = pc; in UnwindThreadFallback() 148 frame.sp = sp; in UnwindThreadFallback() 149 frame.index = index; in UnwindThreadFallback() 151 frame.relPc = map->GetRelPc(pc); in UnwindThreadFallback() 152 frame.mapName = map->name; in UnwindThreadFallback() 154 frame.relPc = pc; in UnwindThreadFallback() 155 frame.mapName = (index == 0 ? "Not mapped pc" : "Not mapped lr"); in UnwindThreadFallback() 157 unwinder->AddFrame(frame); in UnwindThreadFallback()
|
H A D | cppcrash_reporter.h | 47 void AppendCrashStack(const std::string& frame) in AppendCrashStack() argument 49 stack_.append(frame).append("\n"); in AppendCrashStack()
|
H A D | dfx_thread.h | 48 void AddFrame(DfxFrame& frame);
|
H A D | dfx_stack_info_formatter.h | 48 void FillNativeFrame(const DfxFrame& frame, Json::Value& jsonInfo) const;
|
H A D | printer.h | 47 static bool IsLastValidFrame(const DfxFrame& frame);
|
/base/hiviewdfx/faultloggerd/test/unittest/unwind/ |
H A D | fp_unwinder_test.cpp | 58 DfxFrame frame; in HWTEST_F() local 59 frame.index = i; in HWTEST_F() 60 frame.pc = static_cast<uint64_t>(pcs[i]); in HWTEST_F() 61 frames.emplace_back(frame); in HWTEST_F() 90 DfxFrame frame; in HWTEST_F() local 91 frame.index = i; in HWTEST_F() 92 frame.pc = static_cast<uint64_t>(pcs[i]); in HWTEST_F() 93 frames.emplace_back(frame); in HWTEST_F()
|
H A D | unwinder_test.cpp | 668 DfxFrame frame; in HWTEST_F() local 669 unwinder->FillFrame(frame); in HWTEST_F() 670 GTEST_LOG_(INFO) << " when DfxFrame::map is null, frame.buildId.size() is 0"; in HWTEST_F() 671 ASSERT_EQ(frame.buildId.size(), 0); in HWTEST_F() 674 frame.map = map; in HWTEST_F() 675 unwinder->FillFrame(frame); in HWTEST_F() 676 GTEST_LOG_(INFO) << " when DfxFrame::map is not null and file not exist, frame.buildId.size() is 0"; in HWTEST_F() 677 ASSERT_EQ(frame.buildId.size(), 0); in HWTEST_F() 684 frame.map = map; in HWTEST_F() 685 unwinder->FillFrame(frame); in HWTEST_F() 701 DfxFrame frame; HWTEST_F() local 730 DfxFrame frame; HWTEST_F() local 955 DfxFrame frame; HWTEST_F() local 972 std::shared_ptr<DfxFrame> frame = nullptr; HWTEST_F() local [all...] |
/base/hiviewdfx/faultloggerd/interfaces/innerkits/backtrace/ |
H A D | dfx_kernel_stack.cpp | 89 DfxFrame frame;
in FormatThreadKernelStack() local 90 frame.index = index++;
in FormatThreadKernelStack() 92 frame.relPc = strtoull((*it)[1].str().c_str(), nullptr, base);
in FormatThreadKernelStack() 93 frame.mapName = (*it)[2].str(); // 2 : second of searched element is map name
in FormatThreadKernelStack() 94 threadStack.frames.emplace_back(frame);
in FormatThreadKernelStack()
|
H A D | backtrace_local.cpp | 99 BACKTRACE_CURRENT_THREAD, 1, fast, maxFrameNums); // 1: skip current frame in PrintBacktrace() 104 for (auto const& frame : frames) { in PrintBacktrace() 105 auto line = DfxFrameFormatter::GetFrameStr(frame); in PrintBacktrace() 118 fast, maxFrameNums, false); // 1: skip current frame in GetBacktrace()
|
/base/hiviewdfx/faultloggerd/interfaces/innerkits/unwinder/include/ |
H A D | dfx_frame_formatter.h | 33 * @param frame native frame object 34 * @return std::string native frame string 36 static std::string GetFrameStr(const DfxFrame& frame); 41 * @param frame native frame pointer object 42 * @return std::string native frame string 44 static std::string GetFrameStr(const std::shared_ptr<DfxFrame>& frame); 49 * @param frames native frame object list 57 * @param frames native frame pointe [all...] |
H A D | unwinder.h | 79 void AddFrame(DfxFrame& frame); 83 void FillFrame(DfxFrame& frame); 84 void FillJsFrame(DfxFrame& frame); 85 bool GetFrameByPc(uintptr_t pc, std::shared_ptr<DfxMaps> maps, DfxFrame& frame);
|
/base/hiviewdfx/faultloggerd/test/benchmarktest/unwinder/ |
H A D | unwind_local_benchmark.cpp | 133 DfxFrame frame;
in UnwinderLocalFp() local 134 frame.index = i;
in UnwinderLocalFp() 135 frame.pc = static_cast<uint64_t>(pcs[i]);
in UnwinderLocalFp() 136 frames.emplace_back(frame);
in UnwinderLocalFp() 156 DfxFrame frame;
in FpUnwinderLocal() local 157 frame.index = i;
in FpUnwinderLocal() 158 frame.pc = static_cast<uint64_t>(pcs[i]);
in FpUnwinderLocal() 159 frames.emplace_back(frame);
in FpUnwinderLocal() 179 DfxFrame frame;
in FpUnwinderLocalSafe() local 180 frame in FpUnwinderLocalSafe() [all...] |
/base/hiviewdfx/faultloggerd/test/unittest/backtrace/ |
H A D | backtrace_local_test.cpp | 254 * @tc.desc: test skip two stack frames and verify stack frame 342 std::string frame; in HWTEST_F() local 343 ASSERT_EQ(true, GetBacktrace(frame, 0, false, DEFAULT_MAX_FRAME_NUM)); in HWTEST_F() 344 int start = frame.find("#00"); in HWTEST_F() 345 int end = frame.find("#01"); in HWTEST_F() 346 std::string str = frame.substr(start, end - start); in HWTEST_F() 347 GTEST_LOG_(INFO) << "frame" << frame; in HWTEST_F() 370 for (auto const& frame : threadStack.frames) { in HWTEST_F() 371 auto line = DfxFrameFormatter::GetFrameStr(frame); in HWTEST_F() [all...] |
/base/hiviewdfx/faultloggerd/interfaces/innerkits/formatter/ |
H A D | dfx_json_formatter.cpp | 144 for (const auto& frame : threadStack.frames) { in FormatKernelStackJson() 148 if (snprintf_s(buf, sizeof(buf), sizeof(buf) - 1, format, frame.relPc) <= 0) { in FormatKernelStackJson() 154 frameJson["file"] = frame.mapName.empty() ? "Unknown" : frame.mapName; in FormatKernelStackJson()
|
/base/hiviewdfx/hicollie/frameworks/native/thread_sampler/ |
H A D | sample_stack_printer.cpp | 133 for (auto& frame : frames) {
in GetFullStack() 134 unwinder_->FillFrame(frame);
in GetFullStack() 135 auto frameStr = DfxFrameFormatter::GetFrameStr(frame);
in GetFullStack()
|