Skip to content

Commit 5994062

Browse files
arekzaluskithegecko
authored andcommitted
Allow to modify env for gdbserver process
1 parent b020c8a commit 5994062

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

package.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@
9797
"type": "array",
9898
"default": []
9999
},
100+
"gdbServerEnv": {
101+
"description": "GDB server process env",
102+
"type": "object"
103+
},
100104
"objdump": {
101105
"type": "string",
102106
"description": "Path to objdump executable",
@@ -158,6 +162,10 @@
158162
"type": "array",
159163
"default": []
160164
},
165+
"gdbServerEnv": {
166+
"description": "GDB server process env",
167+
"type": "object"
168+
},
161169
"objdump": {
162170
"type": "string",
163171
"description": "Path to objdump executable",

src/abstract-server.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import { spawn, ChildProcess } from 'child_process';
2929
import { EventEmitter } from 'events';
3030
import { dirname } from 'path';
3131
import { CmsisRequestArguments } from './cmsis-debug-session';
32+
import * as nodeProcess from 'process';
3233

3334
const TIMEOUT = 1000 * 10; // 10 seconds
3435

@@ -57,6 +58,7 @@ export abstract class AbstractServer extends EventEmitter {
5758
const serverArguments = await this.resolveServerArguments(this.args.gdbServerArguments);
5859
this.process = spawn(command, serverArguments, {
5960
cwd: dirname(command),
61+
env: this.resolveServerEnv(this.args.gdbServerEnv ? this.args.gdbServerEnv as NodeJS.ProcessEnv : undefined )
6062
});
6163

6264
if (!this.process) {
@@ -92,6 +94,10 @@ export abstract class AbstractServer extends EventEmitter {
9294
return serverArguments || [];
9395
}
9496

97+
private resolveServerEnv(serverEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv {
98+
return serverEnv || nodeProcess.env;
99+
}
100+
95101
protected onExit(code: number, signal: string) {
96102
this.emit('exit', code, signal);
97103

src/cmsis-debug-session.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export interface CmsisRequestArguments extends RequestArguments {
3939
gdbCore?: number;
4040
gdbServer?: string;
4141
gdbServerArguments?: string[];
42+
gdbServerEnv?: object;
4243
objdump?: string;
4344
}
4445

0 commit comments

Comments
 (0)