[Lldb-commits] [lldb] 30eb193 - [LLDB][lldb-dap][vscode-lldb] Add Environment configuration for the lldb-dap process (#108948)

via lldb-commits lldb-commits at lists.llvm.org
Tue Sep 17 23:05:37 PDT 2024


Author: Serban
Date: 2024-09-18T08:05:35+02:00
New Revision: 30eb19321349827056facd54afab9b856b9f9d0a

URL: https://github.com/llvm/llvm-project/commit/30eb19321349827056facd54afab9b856b9f9d0a
DIFF: https://github.com/llvm/llvm-project/commit/30eb19321349827056facd54afab9b856b9f9d0a.diff

LOG: [LLDB][lldb-dap][vscode-lldb] Add Environment configuration for the lldb-dap process (#108948)

Frequently, environment variables such as `LLDB_USE_NATIVE_PDB_READER`
are needed to be able to use lldb-dap in vscode

This PR adds a way to set the environment for the lldb-dap process using
configuration.

Added: 
    

Modified: 
    lldb/tools/lldb-dap/package-lock.json
    lldb/tools/lldb-dap/package.json
    lldb/tools/lldb-dap/src-ts/extension.ts

Removed: 
    


################################################################################
diff  --git a/lldb/tools/lldb-dap/package-lock.json b/lldb/tools/lldb-dap/package-lock.json
index 96570e42dbfdc4..8663659715590a 100644
--- a/lldb/tools/lldb-dap/package-lock.json
+++ b/lldb/tools/lldb-dap/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "lldb-dap",
-  "version": "0.2.4",
+  "version": "0.2.6",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "lldb-dap",
-      "version": "0.2.4",
+      "version": "0.2.6",
       "license": "Apache 2.0 License with LLVM exceptions",
       "devDependencies": {
         "@types/node": "^18.11.18",

diff  --git a/lldb/tools/lldb-dap/package.json b/lldb/tools/lldb-dap/package.json
index d35accfb6ec4e8..33b09d56ab17e2 100644
--- a/lldb/tools/lldb-dap/package.json
+++ b/lldb/tools/lldb-dap/package.json
@@ -1,7 +1,7 @@
 {
   "name": "lldb-dap",
   "displayName": "LLDB DAP",
-  "version": "0.2.5",
+  "version": "0.2.6",
   "publisher": "llvm-vs-code-extensions",
   "homepage": "https://lldb.llvm.org",
   "description": "LLDB debugging from VSCode",
@@ -78,6 +78,15 @@
           "scope": "resource",
           "type": "string",
           "description": "The log path for lldb-dap (if any)"
+        },
+        "lldb-dap.environment": {
+          "scope": "resource",
+          "type": "object",
+          "default": {},
+          "description": "The environment of the lldb-dap process.",
+          "additionalProperties": {
+             "type": "string"
+          }
         }
       }
     },

diff  --git a/lldb/tools/lldb-dap/src-ts/extension.ts b/lldb/tools/lldb-dap/src-ts/extension.ts
index fdc4f47b238b5a..36d3dfba18c142 100644
--- a/lldb/tools/lldb-dap/src-ts/extension.ts
+++ b/lldb/tools/lldb-dap/src-ts/extension.ts
@@ -25,9 +25,15 @@ function createDefaultLLDBDapOptions(): LLDBDapOptions {
       if (log_path) {
         env["LLDBDAP_LOG"] = log_path;
       }
-
+      const configEnvironment = config.get<{ [key: string]: string }>("environment") || {};
       if (path) {
-        return new vscode.DebugAdapterExecutable(path, [], { env });
+        const dbgOptions = {
+          env: {
+            ...configEnvironment,
+            ...env,
+          }
+        };
+        return new vscode.DebugAdapterExecutable(path, [], dbgOptions);
       } else if (packageJSONExecutable) {
         return new vscode.DebugAdapterExecutable(
           packageJSONExecutable.command,
@@ -36,6 +42,7 @@ function createDefaultLLDBDapOptions(): LLDBDapOptions {
             ...packageJSONExecutable.options,
             env: {
               ...packageJSONExecutable.options?.env,
+              ...configEnvironment,
               ...env,
             },
           },


        


More information about the lldb-commits mailing list