[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