llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-lldb Author: Sergei Druzhkov (DrSergei) <details> <summary>Changes</summary> Added memory history in ASan report (like `memory history` console command) --- Full diff: https://github.com/llvm/llvm-project/pull/183740.diff 1 Files Affected: - (modified) lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp (+19) ``````````diff diff --git a/lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp b/lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp index c92a607d9b7b0..bded3dbd9cd81 100644 --- a/lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp +++ b/lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp @@ -231,6 +231,25 @@ static std::string FormatExtendedStopInfo(lldb::SBThread &thread) { // Check if we can improve the formatting of the raw JSON report. if (report) { OS << *report; + std::visit( + [&](auto &&report) { + using T = std::decay_t<decltype(report)>; + if constexpr (std::is_same_v<T, ASanReport>) { + lldb::addr_t address = report.address; + lldb::SBProcess process = thread.GetProcess(); + lldb::SBThreadCollection history_threads = + process.GetHistoryThreads(address); + lldb::SBStream stream; + OS << "Memory history associated with addres: 0x" + << llvm::utohexstr(address) << "\n"; + for (const auto history_thread : history_threads) { + if (history_thread.GetStatus(stream)) + OS << stream << "\n"; + stream.Clear(); + } + } + }, + *report); } else { consumeError(report.takeError()); OS << stream; `````````` </details> https://github.com/llvm/llvm-project/pull/183740 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
