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])), ]; } } diff --git a/lldb/tools/lldb-dap/src-ts/logging.ts b/lldb/tools/lldb-dap/src-ts/logging.ts index 3b1c3c37ce1ce..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())}.log`); + return path.join(logFolder, `lldb-dap-${formatDate(new Date())}-${vscode.env.sessionId.split("-")[0]}.log`); break; } }