[Lldb-commits] [lldb] [lldb-dap] Add more logs when running in server mode (PR #195249)

Ebuka Ezike via lldb-commits lldb-commits at lists.llvm.org
Fri May 1 07:13:44 PDT 2026


https://github.com/da-viper updated https://github.com/llvm/llvm-project/pull/195249

>From f39df96d68b1369a53958ebeb9f0d565e4766d85 Mon Sep 17 00:00:00 2001
From: Ebuka Ezike <yerimyah1 at gmail.com>
Date: Fri, 1 May 2026 11:46:51 +0100
Subject: [PATCH 1/2] [lldb-dap] Add more logs when running in server mode

Had a recent failure in server mode but could not find
the reason for the failure.

```
[09:26:05.247] lldb-dap.cpp:552 started with connection listeners connection://[127.0.0.1]:34035
[09:26:05.258] lldb-dap.cpp:587 (conn0) client connected
[09:26:05.263] lldb-dap.cpp:630 server shutting down, disconnecting remaining clients
[09:26:05.263] (conn0) <-- {"event":"terminated","seq":1,"type":"event"}
[09:26:05.263] DAP.cpp:1005 (conn0) transport closed
[09:26:05.272] lldb-dap.cpp:609 (conn0) client disconnected
```
---
 lldb/tools/lldb-dap/tool/lldb-dap.cpp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lldb/tools/lldb-dap/tool/lldb-dap.cpp b/lldb/tools/lldb-dap/tool/lldb-dap.cpp
index 61d42ed49ffa1..c831295c40a25 100644
--- a/lldb/tools/lldb-dap/tool/lldb-dap.cpp
+++ b/lldb/tools/lldb-dap/tool/lldb-dap.cpp
@@ -583,7 +583,8 @@ static llvm::Error serveConnection(
     std::thread client([=, &log]() {
       llvm::set_thread_name(client_name + ".runloop");
 
-      Log client_log = log.WithPrefix("(" + client_name + ")");
+      const std::string client_prefix = llvm::formatv("({})", client_name);
+      Log client_log = log.WithPrefix(client_prefix);
       DAP_LOG(client_log, "client connected");
 
       MainLoop loop;
@@ -592,6 +593,8 @@ static llvm::Error serveConnection(
               client_name, transport, loop);
 
       if (auto Err = dap.ConfigureIO()) {
+        DAP_LOG(log, "{} error: Failed to configure stdout redirect: {}",
+                client_prefix, llvm::toStringWithoutConsuming(Err));
         llvm::logAllUnhandledErrors(std::move(Err), llvm::errs(),
                                     "Failed to configure stdout redirect: ");
         return;
@@ -601,6 +604,8 @@ static llvm::Error serveConnection(
       DAPSessionManager::GetInstance().RegisterSession(&loop, &dap);
 
       if (auto Err = dap.Loop()) {
+        DAP_LOG(log, "{} error: {}", client_prefix,
+                llvm::toStringWithoutConsuming(Err));
         llvm::logAllUnhandledErrors(std::move(Err), llvm::errs(),
                                     "DAP session (" + client_name +
                                         ") error: ");
@@ -842,6 +847,8 @@ int main(int argc, char *argv[]) {
   if (!connection.empty()) {
     auto maybeProtoclAndName = validateConnection(connection);
     if (auto Err = maybeProtoclAndName.takeError()) {
+      DAP_LOG(log, "Connection Failed: {}",
+              llvm::toStringWithoutConsuming(Err));
       llvm::logAllUnhandledErrors(std::move(Err), llvm::errs(),
                                   "Invalid connection: ");
       return EXIT_FAILURE;

>From aaafe758f941b4899716d4e06fb8809c9a49f78f Mon Sep 17 00:00:00 2001
From: Ebuka Ezike <yerimyah1 at gmail.com>
Date: Fri, 1 May 2026 15:12:49 +0100
Subject: [PATCH 2/2] add review changes

---
 lldb/tools/lldb-dap/tool/lldb-dap.cpp | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/lldb/tools/lldb-dap/tool/lldb-dap.cpp b/lldb/tools/lldb-dap/tool/lldb-dap.cpp
index c831295c40a25..b09e0c7dc9aa9 100644
--- a/lldb/tools/lldb-dap/tool/lldb-dap.cpp
+++ b/lldb/tools/lldb-dap/tool/lldb-dap.cpp
@@ -583,8 +583,7 @@ static llvm::Error serveConnection(
     std::thread client([=, &log]() {
       llvm::set_thread_name(client_name + ".runloop");
 
-      const std::string client_prefix = llvm::formatv("({})", client_name);
-      Log client_log = log.WithPrefix(client_prefix);
+      Log client_log = log.WithPrefix("(" + client_name + ")");
       DAP_LOG(client_log, "client connected");
 
       MainLoop loop;
@@ -593,8 +592,8 @@ static llvm::Error serveConnection(
               client_name, transport, loop);
 
       if (auto Err = dap.ConfigureIO()) {
-        DAP_LOG(log, "{} error: Failed to configure stdout redirect: {}",
-                client_prefix, llvm::toStringWithoutConsuming(Err));
+        DAP_LOG(client_log, "error: Failed to configure stdout redirect: {}",
+                llvm::toStringWithoutConsuming(Err));
         llvm::logAllUnhandledErrors(std::move(Err), llvm::errs(),
                                     "Failed to configure stdout redirect: ");
         return;
@@ -604,8 +603,7 @@ static llvm::Error serveConnection(
       DAPSessionManager::GetInstance().RegisterSession(&loop, &dap);
 
       if (auto Err = dap.Loop()) {
-        DAP_LOG(log, "{} error: {}", client_prefix,
-                llvm::toStringWithoutConsuming(Err));
+        DAP_LOG(client_log, "error: {}", llvm::toStringWithoutConsuming(Err));
         llvm::logAllUnhandledErrors(std::move(Err), llvm::errs(),
                                     "DAP session (" + client_name +
                                         ") error: ");



More information about the lldb-commits mailing list