Change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.73.1 OS Version: Ubuntu 22.10 Steps to Reproduce: Open a folder with VSCode Open VSCode's Process Explorer Right click on , then click debug Debug Panel opens and shows a loading indicator After some time, the loading indicator stops !
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.74.0. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
I don't see this 'debug' option, and it seems a little suspicious to me, do you know about this
doesn't work for extension host for me, but it does for other node processes: !
Useful code pointer: Maybe to
I didn't know this was a thing, but can give it a poke...
Searching through the sources, I'm not sure what the process is. I don't see a string with such casing in our source, and I don't reproduce this when running on Linux. Similar to Rob's screenshot I only see an which has no Debug option. it sounds like you were able to hit this... what environment were you running in, and could you get the command line of whatever process ID is for you?
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
I didn't try repro, just showed the debug button.
given you can still reproduce this, please run , where is the PID in the right hand column of the process. That should give us some hints on what it is/how it's getting spawned.
Sure, this is the output of :
ah, I was able to reproduce by using Remote SSH to connect to a Linux machine. But then debugging worked (well, I could connect, but as soon as the debugger pauses the ext host just deadlocks since the extension that handles debugging is the extension that's running in the process which is paused.) did you install VS Code from snap, perchance?
Yes, I used to install VS Code.
Verification: there should no longer be a Debug option in the context menu if is present in the command line (since we don't know what port to connect to)
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!

Discussion:
if (UTILITY_EXTENSION_HOST_HINT.exec(cmd)) { return 'extension-host'; } <ins> } else if (matches[1] === 'extensionHost') { return 'extension-host'; // normalize remote extension host type </ins> } return matches[1]; }

import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { KeyCode } from 'vs/base/common/keyCodes'; <del> const DEBUG_FLAGS_PATTERN = /s--(inspect|debug)(-brk|port)?=(d+)?/; const DEBUG_PORT_PATTERN = /s--(inspect|debug)-port=(d+)/; </del> <ins> const DEBUG_FLAGS_PATTERN = /s--inspect(?:-brk|port)?=(?<port>d+)?/; const DEBUG_PORT_PATTERN = /s--inspect-port=(?<port>d+)/; </ins> class ProcessListDelegate implements IListVirtualDelegate<MachineProcessInformation | ProcessItem | IRemoteDiagnosticError> { getHeight(element: MachineProcessInformation | ProcessItem | IRemoteDiagnosticError) {

private isDebuggable(cmd: string): boolean { const matches = DEBUG_FLAGS_PATTERN.exec(cmd); <del> return (matches && matches.length >= 2) || cmd.indexOf('node ') >= 0 || cmd.indexOf('node.exe') >= 0; </del> <ins> return (matches && matches.groups!.port !== '0') || cmd.indexOf('node ') >= 0 || cmd.indexOf('node.exe') >= 0; </ins> } private attachTo(item: ProcessItem) {

}; let matches = DEBUG_FLAGS_PATTERN.exec(item.cmd); <del> if (matches && matches.length >= 2) { // attach via port if (matches.length === 4 && matches[3]) { config.port = parseInt(matches[3]); } config.protocol = matches[1] === 'debug' ? 'legacy' : 'inspector'; </del> <ins> if (matches) { config.port = Number(matches.groups!.port); </ins> } else { // no port -> try to attach via pid (send SIGUSR1) config.processId = String(item.pid);

// a debug-port=n or inspect-port=n overrides the port matches = DEBUG_PORT_PATTERN.exec(item.cmd); <del> if (matches && matches.length === 3) { </del> <ins> if (matches) { </ins> // override port <del> config.port = parseInt(matches[2]); </del> <ins> config.port = Number(matches.groups!.port); </ins> } ipcRenderer.send('vscode:workbenchCommand', { id: 'debug.startFromConfig', from: 'processExplorer', args: [config] });