/base/hiviewdfx/faultloggerd/interfaces/innerkits/formatter/ |
H A D | dfx_json_formatter.cpp | 30 static bool FormatJsFrame(const Json::Value& frames, const uint32_t& frameIdx, std::string& outStr) in FormatJsFrame() argument 39 std::string symbol = frames[frameIdx]["symbol"].asString(); in FormatJsFrame() 40 std::string file = frames[frameIdx]["file"].asString(); in FormatJsFrame() 41 std::string line = frames[frameIdx]["line"].asString(); in FormatJsFrame() 42 std::string column = frames[frameIdx]["column"].asString(); in FormatJsFrame() 47 static bool FormatNativeFrame(const Json::Value& frames, const uint32_t& frameIdx, std::string& outStr) in FormatNativeFrame() argument 51 std::string buildId = frames[frameIdx]["buildId"].asString(); in FormatNativeFrame() 52 std::string file = frames[frameIdx]["file"].asString(); in FormatNativeFrame() 53 std::string offset = frames[frameIdx]["offset"].asString(); in FormatNativeFrame() 54 std::string pc = frames[frameId in FormatNativeFrame() 87 const Json::Value frames = thread["frames"]; FormatJsonStack() local [all...] |
/base/hiviewdfx/faultloggerd/test/unittest/unwind/ |
H A D | fp_unwinder_test.cpp | 56 std::vector<DfxFrame> frames; in HWTEST_F() local 61 frames.emplace_back(frame); in HWTEST_F() 63 ASSERT_GT(frames.size(), 1); in HWTEST_F() 64 Unwinder::FillLocalFrames(frames); in HWTEST_F() 65 GTEST_LOG_(INFO) << "FpUnwinderTest001: frames:\n" << Unwinder::GetFramesStr(frames); in HWTEST_F() 88 std::vector<DfxFrame> frames; in HWTEST_F() local 93 frames.emplace_back(frame); in HWTEST_F() 95 ASSERT_GT(frames.size(), 1); in HWTEST_F() 96 Unwinder::FillLocalFrames(frames); in HWTEST_F() [all...] |
H A D | unwinder_test.cpp | 117 auto frames = unwinder->GetFrames(); in HWTEST_F() local 118 ASSERT_GT(frames.size(), 1); in HWTEST_F() 121 GTEST_LOG_(INFO) << "UnwinderLocalTest001: frames:\n" << Unwinder::GetFramesStr(frames); in HWTEST_F() 125 ASSERT_GT(frames.size(), frames2.size()); in HWTEST_F() 153 auto frames = unwinder->GetFrames(); in HWTEST_F() local 154 ASSERT_GT(frames.size(), 1); in HWTEST_F() 157 GTEST_LOG_(INFO) << "UnwinderLocalTest002: frames:\n" << Unwinder::GetFramesStr(frames); in HWTEST_F() 206 auto frames in HWTEST_F() local 250 auto frames = unwinder->GetFrames(); HWTEST_F() local 308 auto frames = unwinder->GetFrames(); HWTEST_F() local 344 auto frames = unwinder->GetFrames(); HWTEST_F() local 365 const auto& frames = unwinder->GetFrames(); HWTEST_F() local 389 auto frames = unwinder->GetFrames(); HWTEST_F() local 505 std::vector<DfxFrame> frames; HWTEST_F() local 729 std::vector<DfxFrame> frames; HWTEST_F() local 779 auto frames = unwinder->GetFrames(); HWTEST_F() local 821 std::vector<DfxFrame> frames; HWTEST_F() local 824 auto frames = unwinder->GetFrames(); HWTEST_F() local 861 auto frames = unwinder->GetFrames(); HWTEST_F() local 884 auto frames = unwinder->GetFrames(); HWTEST_F() local 907 auto frames = unwinder->GetFrames(); HWTEST_F() local 975 std::vector<std::shared_ptr<DfxFrame>> frames; HWTEST_F() local [all...] |
H A D | instr_statistic_test.cpp | 75 auto frames = unwinder->GetFrames(); in HWTEST_F() local 76 ASSERT_GT(frames.size(), 1); in HWTEST_F() 77 GTEST_LOG_(INFO) << "frames:\n" << Unwinder::GetFramesStr(frames); in HWTEST_F()
|
H A D | unwinder_pac_test.cpp | 69 auto frames = unwinder->GetFrames(); in HWTEST_F() local 70 ASSERT_GT(frames.size(), 1); in HWTEST_F() 71 GTEST_LOG_(INFO) << "frames:\n" << Unwinder::GetFramesStr(frames); in HWTEST_F()
|
/base/hiviewdfx/faultloggerd/interfaces/innerkits/backtrace/ |
H A D | backtrace_local.cpp | 54 bool GetBacktraceFramesByTid(std::vector<DfxFrame>& frames, int32_t tid, size_t skipFrameNum, bool fast, in GetBacktraceFramesByTid() argument 68 frames = thread.GetFrames(); in GetBacktraceFramesByTid() 75 std::vector<DfxFrame> frames; in GetBacktraceStringByTid() local 76 bool ret = GetBacktraceFramesByTid(frames, tid, skipFrameNum + 1, fast, maxFrameNums); in GetBacktraceStringByTid() 81 frames = threadStack.frames; in GetBacktraceStringByTid() 89 out = threadHead + Unwinder::GetFramesStr(frames); in GetBacktraceStringByTid() 97 std::vector<DfxFrame> frames; in PrintBacktrace() local 98 bool ret = GetBacktraceFramesByTid(frames, in PrintBacktrace() 104 for (auto const& frame : frames) { in PrintBacktrace() [all...] |
H A D | backtrace_local_thread.cpp | 76 void BacktraceLocalThread::SetFrames(const std::vector<DfxFrame>& frames) in SetFrames() argument 78 frames_ = frames; in SetFrames()
|
H A D | backtrace_local_thread.h | 38 void SetFrames(const std::vector<DfxFrame>& frames);
|
/base/hiviewdfx/faultloggerd/test/unittest/process_dump/ |
H A D | lock_parser_test.cpp | 128 std::vector<DfxFrame> frames; in HWTEST_F() local 129 (void)unwinder->GetFramesByPcs(frames, pcs); in HWTEST_F() 130 ASSERT_FALSE(frames.empty()); in HWTEST_F() 131 unwinder->SetFrames(frames); in HWTEST_F() 182 std::vector<DfxFrame> frames; in HWTEST_F() local 183 (void)unwinder->GetFramesByPcs(frames, pcs); in HWTEST_F() 184 ASSERT_FALSE(frames.empty()); in HWTEST_F() 185 unwinder->SetFrames(frames); in HWTEST_F() 232 std::vector<DfxFrame> frames; in HWTEST_F() local 233 (void)unwinder->GetFramesByPcs(frames, pc in HWTEST_F() 271 std::vector<DfxFrame> frames; HWTEST_F() local 312 std::vector<DfxFrame> frames; HWTEST_F() local [all...] |
H A D | fault_stack_test.cpp | 89 auto frames = unwinder->GetFrames(); in HWTEST_F() local 109 stack->CollectStackInfo(frames); in HWTEST_F()
|
/base/hiviewdfx/faultloggerd/tools/process_dump/ |
H A D | dfx_stack_info_formatter.cpp | 103 Json::Value frames(Json::arrayValue); in GetNativeCrashInfo() 105 FillFrames(process_->vmThread_, frames); in GetNativeCrashInfo() 107 FillFrames(process_->keyThread_, frames); in GetNativeCrashInfo() 109 exception["frames"] = frames; in GetNativeCrashInfo() 126 Json::Value frames(Json::arrayValue); in GetDumpInfo() 127 FillFrames(process_->keyThread_, frames); in GetDumpInfo() 128 thread["frames"] = frames; in GetDumpInfo() 190 Json::Value frames(Jso in AppendThreads() [all...] |
H A D | dfx_unwind_async_thread.cpp | 119 auto frames = thread_->GetFrames(); in MergeStack() local 120 frames.insert(frames.end(), submitterFrames.begin(), submitterFrames.end()); in MergeStack() 121 thread_->SetFrames(frames); in MergeStack() 130 // As we failed to init libunwind, just print pc and lr for first two frames in UnwindThreadFallback() 170 auto frames = thread_->GetFrames(); in UnwindThreadByParseStackIfNeed() local 172 size_t initSize = frames.size(); in UnwindThreadByParseStackIfNeed() 173 if (initSize < minFramesNum || frames[minFramesNum - 1].mapName.find("Not mapped") != std::string::npos || in UnwindThreadByParseStackIfNeed() 174 frames[minFramesNum - 1].mapName.find("[Unknown]") != std::string::npos) { in UnwindThreadByParseStackIfNeed() 178 if (faultStack == nullptr || !faultStack->ParseUnwindStack(unwinder_->GetMaps(), frames)) { in UnwindThreadByParseStackIfNeed() [all...] |
H A D | dfx_fault_stack.cpp | 82 bool FaultStack::CollectStackInfo(const std::vector<DfxFrame>& frames, bool needParseStack) in CollectStackInfo() argument 84 if (frames.empty()) { in CollectStackInfo() 85 DFXLOGW("null frames."); in CollectStackInfo() 99 auto firstFrame = frames.at(0); in CollectStackInfo() 102 for (index = 1; index < frames.size(); index++) { in CollectStackInfo() 107 auto frame = frames.at(index); in CollectStackInfo() 127 CreateBlockForCorruptedStack(frames, prevEndAddr, minCorruptedStackSz); in CollectStackInfo() 131 bool FaultStack::CreateBlockForCorruptedStack(const std::vector<DfxFrame>& frames, uintptr_t prevEndAddr, in CreateBlockForCorruptedStack() argument 134 const auto& frame = frames.back(); in CreateBlockForCorruptedStack() 277 bool FaultStack::ParseUnwindStack(std::shared_ptr<DfxMaps> maps, std::vector<DfxFrame>& frames) in ParseUnwindStack() argument [all...] |
H A D | dfx_fault_stack.h | 43 bool CollectStackInfo(const std::vector<DfxFrame>& frames, bool needParseStack = false); 44 bool CreateBlockForCorruptedStack(const std::vector<DfxFrame>& frames, uintptr_t prevEndAddr, uintptr_t size); 46 bool ParseUnwindStack(std::shared_ptr<DfxMaps> maps, std::vector<DfxFrame>& frames);
|
H A D | dfx_thread.cpp | 145 void DfxThread::SetFrames(const std::vector<DfxFrame>& frames) in SetFrames() argument 147 frames_ = frames; in SetFrames()
|
/base/hiviewdfx/faultloggerd/interfaces/innerkits/unwinder/ |
H A D | dfx_frame_formatter.cpp | 83 std::string DfxFrameFormatter::GetFramesStr(const std::vector<DfxFrame>& frames) in GetFramesStr() argument 85 if (frames.size() == 0) { in GetFramesStr() 89 for (const auto& f : frames) { in GetFramesStr() 95 std::string DfxFrameFormatter::GetFramesStr(const std::vector<std::shared_ptr<DfxFrame>>& frames) in GetFramesStr() argument 97 if (frames.size() == 0) { in GetFramesStr() 101 for (const auto& pf : frames) { in GetFramesStr() 107 std::vector<std::shared_ptr<DfxFrame>> DfxFrameFormatter::ConvertFrames(const std::vector<DfxFrame>& frames) in ConvertFrames() argument 110 for (const auto& frame : frames) { in ConvertFrames()
|
H A D | unwinder.cpp | 185 void FillFrames(std::vector<DfxFrame>& frames); 189 void GetFramesByPcs(std::vector<DfxFrame>& frames, std::vector<uintptr_t> pcs); 196 void SetFrames(const std::vector<DfxFrame>& frames) in SetFrames() argument 198 frames_ = frames; in SetFrames() 404 void Unwinder::FillFrames(std::vector<DfxFrame>& frames) in FillFrames() argument 406 impl_->FillFrames(frames); in FillFrames() 424 void Unwinder::GetFramesByPcs(std::vector<DfxFrame>& frames, std::vector<uintptr_t> pcs) in GetFramesByPcs() argument 426 impl_->GetFramesByPcs(frames, pcs); in GetFramesByPcs() 449 void Unwinder::SetFrames(std::vector<DfxFrame>& frames) in SetFrames() argument 451 impl_->SetFrames(frames); in SetFrames() 1186 FillLocalFrames(std::vector<DfxFrame>& frames) FillLocalFrames() argument 1202 FillFrames(std::vector<DfxFrame>& frames) FillFrames() argument 1324 GetFramesByPcs(std::vector<DfxFrame>& frames, std::vector<uintptr_t> pcs) GetFramesByPcs() argument 1345 GetLocalFramesByPcs(std::vector<DfxFrame>& frames, std::vector<uintptr_t> pcs) GetLocalFramesByPcs() argument 1376 GetFramesStr(const std::vector<DfxFrame>& frames) GetFramesStr() argument [all...] |
H A D | dfx_ark.cpp | 255 int DfxArk::GetArkNativeFrameInfo(int pid, uintptr_t& pc, uintptr_t& fp, uintptr_t& sp, JsFrame* frames, size_t& size) in GetArkNativeFrameInfo() argument 258 return g_getArkNativeFrameInfoFn(pid, &pc, &fp, &sp, frames, size); in GetArkNativeFrameInfo() 265 return g_getArkNativeFrameInfoFn(pid, &pc, &fp, &sp, frames, size); in GetArkNativeFrameInfo()
|
/base/hiviewdfx/faultloggerd/interfaces/innerkits/unwinder/include/ |
H A D | dfx_frame_formatter.h | 49 * @param frames native frame object list 50 * @return std::string native frames string 52 static std::string GetFramesStr(const std::vector<DfxFrame>& frames); 57 * @param frames native frame pointer list 58 * @return std::string native frames string 60 static std::string GetFramesStr(const std::vector<std::shared_ptr<DfxFrame>>& frames); 65 * @param frames native frame object list 68 static std::vector<std::shared_ptr<DfxFrame>> ConvertFrames(const std::vector<DfxFrame>& frames);
|
H A D | unwinder.h | 82 void FillFrames(std::vector<DfxFrame>& frames); 86 void GetFramesByPcs(std::vector<DfxFrame>& frames, std::vector<uintptr_t> pcs); 91 void SetFrames(std::vector<DfxFrame>& frames); 95 static void GetLocalFramesByPcs(std::vector<DfxFrame>& frames, std::vector<uintptr_t> pcs); 96 static std::string GetFramesStr(const std::vector<DfxFrame>& frames); 97 static void FillLocalFrames(std::vector<DfxFrame>& frames);
|
/base/hiviewdfx/faultloggerd/test/benchmarktest/unwinder/ |
H A D | unwind_remote_benchmark.cpp | 80 auto frames = unwinder->GetFrames();
in UnwinderRemote() local 81 DFXLOGU("%{public}s frames.size: %{public}zu", __func__, frames.size());
in UnwinderRemote() 82 return frames.size();
in UnwinderRemote() 96 auto frames = unwinder->GetPcs();
in UnwinderRemoteFp() local 97 DFXLOGU("%{public}s frames.size: %{public}zu", __func__, frames.size());
in UnwinderRemoteFp() 98 return frames.size();
in UnwinderRemoteFp() 212 * @tc.desc: Unwind remote qut frames
227 * @tc.desc: Unwind remote qut frames cach [all...] |
H A D | unwind_local_benchmark.cpp | 98 DFXLOGU("%{public}s frames.size: %{public}zu", __func__, unwSize);
in UnwinderLocal() 127 DFXLOGU("%{public}s frames.size: %{public}zu", __func__, unwSize);
in UnwinderLocalFp() 131 std::vector<DfxFrame> frames;
in UnwinderLocalFp() local 136 frames.emplace_back(frame);
in UnwinderLocalFp() 138 Unwinder::FillLocalFrames(frames);
in UnwinderLocalFp() 139 DFXLOGU(Unwinder::GetFramesStr(frames).c_str());
in UnwinderLocalFp() 150 DFXLOGU("%{public}s frames.size: %{public}zu", __func__, unwSize);
in FpUnwinderLocal() 154 std::vector<DfxFrame> frames;
in FpUnwinderLocal() local 159 frames.emplace_back(frame);
in FpUnwinderLocal() 161 Unwinder::FillLocalFrames(frames);
in FpUnwinderLocal() 177 std::vector<DfxFrame> frames; FpUnwinderLocalSafe() local [all...] |
/base/hiviewdfx/faultloggerd/test/unittest/backtrace/ |
H A D | backtrace_local_test.cpp | 109 const auto& frames = thread.GetFrames(); in HWTEST_F() local 110 ASSERT_GT(frames.size(), 0); in HWTEST_F() 151 const auto& frames = thread.GetFrames(); in HWTEST_F() local 152 ASSERT_GT(frames.size(), 0); in HWTEST_F() 254 * @tc.desc: test skip two stack frames and verify stack frame 283 * @tc.desc: test skip all stack frames 310 * @tc.desc: test skip stack frames exceeding the length 369 ASSERT_GT(threadStack.frames.size(), 0); in HWTEST_F() 370 for (auto const& frame : threadStack.frames) { in HWTEST_F() 416 const auto& frames in HWTEST_F() local 451 const auto& frames = thread.GetFrames(); HWTEST_F() local [all...] |
/base/hiviewdfx/faultloggerd/interfaces/innerkits/backtrace/include/ |
H A D | dfx_kernel_stack.h | 27 std::vector<DfxFrame> frames;
member
|
H A D | backtrace_local.h | 30 * @brief Get a thread of backtrace frames by specify tid 32 * @param frames backtrace frames(output parameter) 37 * @param skipFrameNum the number of frames to skip 39 * @param maxFrameNums the maximum number of frames to backtrace 42 bool GetBacktraceFramesByTid(std::vector<DfxFrame>& frames, int32_t tid, size_t skipFrameNum, bool fast, 53 * @param skipFrameNum the number of frames to skip 55 * @param maxFrameNums the maximum number of frames to backtrace 69 * @param maxFrameNums the maximum number of frames to backtrace 79 * @param maxFrameNums the maximum number of frames t [all...] |