[Lldb-commits] [lldb] [lldb-dap] Add memory history in ASan report (PR #183740)
via lldb-commits
lldb-commits at lists.llvm.org
Fri Feb 27 05:33:28 PST 2026
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
More information about the lldb-commits
mailing list