Preserve process.execArgv This ensures flags like `--prof` are passed down to the code-server process so we can profile everything. To test this: 1. run `./lib/node --prof .` 2. in another terminal, run `ps -ejww` You should see `--prof` next to every code-server process. Index: code-server/lib/vscode/src/vs/server/node/extensionHostConnection.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/server/node/extensionHostConnection.ts +++ code-server/lib/vscode/src/vs/server/node/extensionHostConnection.ts @@ -228,7 +228,7 @@ export class ExtensionHostConnection { public async start(startParams: IRemoteExtensionHostStartParams): Promise { try { - let execArgv: string[] = []; + let execArgv: string[] = process.execArgv ? process.execArgv.filter(a => !/^--inspect(-brk)?=/.test(a)) : []; if (startParams.port && !(process).pkg) { execArgv = [`--inspect${startParams.break ? '-brk' : ''}=${startParams.port}`]; }