[Lldb-commits] [lldb] [vscode-lldb] Improve logging in Server Mode (PR #159672)
Roy Shi via lldb-commits
lldb-commits at lists.llvm.org
Fri Sep 19 13:54:47 PDT 2025
https://github.com/royitaqi updated https://github.com/llvm/llvm-project/pull/159672
>From 79ea55789a7f01b05009a9bb6c28fa6e4ebe7fdb Mon Sep 17 00:00:00 2001
From: Roy Shi <royshi at meta.com>
Date: Thu, 18 Sep 2025 15:52:45 -0700
Subject: [PATCH 1/4] [vscode-lldb] Improve logging in server mode
---
lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts b/lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
index 774be50053a17..280a11d807f6a 100644
--- a/lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
+++ b/lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
@@ -167,9 +167,12 @@ Restarting the server will interrupt any existing debug sessions and start a new
return [
path,
...args,
- ...Object.entries(env ?? {}).map(
- (entry) => String(entry[0]) + "=" + String(entry[1]),
- ),
+ ...Object.entries(env ?? {})
+ // Filter and sort to avoid restarting the server just because the
+ // order of env changed or the log path changed.
+ .filter((entry) => String(entry[0]) !== "LLDBDAP_LOG")
+ .sort()
+ .map((entry) => String(entry[0]) + "=" + String(entry[1])),
];
}
}
>From 0abc316fdf19feec035399b2895d4e3a5b62f7e6 Mon Sep 17 00:00:00 2001
From: Roy Shi <royshi at meta.com>
Date: Thu, 18 Sep 2025 16:00:14 -0700
Subject: [PATCH 2/4] Add username to log filename
---
lldb/tools/lldb-dap/src-ts/logging.ts | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lldb/tools/lldb-dap/src-ts/logging.ts b/lldb/tools/lldb-dap/src-ts/logging.ts
index 3b1c3c37ce1ce..e3b6c56291cec 100644
--- a/lldb/tools/lldb-dap/src-ts/logging.ts
+++ b/lldb/tools/lldb-dap/src-ts/logging.ts
@@ -1,3 +1,4 @@
+import * as os from 'os';
import * as path from "path";
import * as vscode from "vscode";
@@ -44,7 +45,7 @@ export class LogFilePathProvider {
const logFolder = this.logFolder || this.context.logUri.fsPath;
switch(type) {
case LogType.DEBUG_SESSION:
- return path.join(logFolder, `lldb-dap-session-${formatDate(new Date())}.log`);
+ return path.join(logFolder, `lldb-dap-session-${os.userInfo().username}-${formatDate(new Date())}.log`);
break;
}
}
>From b50a42118c47713dbee74cbf45a84b5b8f3b79b8 Mon Sep 17 00:00:00 2001
From: Roy Shi <royshi at meta.com>
Date: Fri, 19 Sep 2025 13:35:41 -0700
Subject: [PATCH 3/4] Use vscode session ID instead
---
lldb/tools/lldb-dap/src-ts/logging.ts | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/lldb/tools/lldb-dap/src-ts/logging.ts b/lldb/tools/lldb-dap/src-ts/logging.ts
index e3b6c56291cec..e48dde74d4a4d 100644
--- a/lldb/tools/lldb-dap/src-ts/logging.ts
+++ b/lldb/tools/lldb-dap/src-ts/logging.ts
@@ -1,4 +1,3 @@
-import * as os from 'os';
import * as path from "path";
import * as vscode from "vscode";
@@ -45,7 +44,7 @@ export class LogFilePathProvider {
const logFolder = this.logFolder || this.context.logUri.fsPath;
switch(type) {
case LogType.DEBUG_SESSION:
- return path.join(logFolder, `lldb-dap-session-${os.userInfo().username}-${formatDate(new Date())}.log`);
+ return path.join(logFolder, `lldb-dap-session-${formatDate(new Date())}-vscode-${vscode.env.sessionId}.log`);
break;
}
}
>From e5f8d795ce9bd571bf284eeab7c07a225b686c15 Mon Sep 17 00:00:00 2001
From: Roy Shi <royshi at meta.com>
Date: Fri, 19 Sep 2025 13:54:35 -0700
Subject: [PATCH 4/4] Shorten the filename
---
lldb/tools/lldb-dap/src-ts/logging.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lldb/tools/lldb-dap/src-ts/logging.ts b/lldb/tools/lldb-dap/src-ts/logging.ts
index e48dde74d4a4d..7f3bbef9b027f 100644
--- a/lldb/tools/lldb-dap/src-ts/logging.ts
+++ b/lldb/tools/lldb-dap/src-ts/logging.ts
@@ -44,7 +44,7 @@ export class LogFilePathProvider {
const logFolder = this.logFolder || this.context.logUri.fsPath;
switch(type) {
case LogType.DEBUG_SESSION:
- return path.join(logFolder, `lldb-dap-session-${formatDate(new Date())}-vscode-${vscode.env.sessionId}.log`);
+ return path.join(logFolder, `lldb-dap-${formatDate(new Date())}-${vscode.env.sessionId.split("-")[0]}.log`);
break;
}
}
More information about the lldb-commits
mailing list