From 79ea55789a7f01b05009a9bb6c28fa6e4ebe7fdb Mon Sep 17 00:00:00 2001 From: Roy Shi 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 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 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 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; } }