Summary
DCP cannot currently run a process under the debugger (ExecutionType.IDE) and attach it to a pseudo-terminal (PTY) at the same time. When a resource is launched under a PTY, traffic is bridged through a terminal-host bridge; routing the same resource to IDE/debugger execution bypasses that PTY wiring entirely, so the terminal never attaches.
Aspire workaround
Aspire's WithTerminal() currently force-disables debugger/IDE execution for terminal-attached resources (they always run as a plain process) precisely because of this limitation. See microsoft/aspire#18308.
Specifically, WithTerminal() adds a disabled SupportsDebuggingAnnotation so the resource is never routed to ExecutionType.IDE inside a debug session.
Ask
Add support in DCP for running a process under the debugger while it is also attached to a PTY. Once that ships, the Aspire workaround in WithTerminal() (and the supporting opt-out plumbing) can be removed so terminal-attached resources become debuggable again.
Summary
DCP cannot currently run a process under the debugger (
ExecutionType.IDE) and attach it to a pseudo-terminal (PTY) at the same time. When a resource is launched under a PTY, traffic is bridged through a terminal-host bridge; routing the same resource to IDE/debugger execution bypasses that PTY wiring entirely, so the terminal never attaches.Aspire workaround
Aspire's
WithTerminal()currently force-disables debugger/IDE execution for terminal-attached resources (they always run as a plain process) precisely because of this limitation. See microsoft/aspire#18308.Specifically,
WithTerminal()adds a disabledSupportsDebuggingAnnotationso the resource is never routed toExecutionType.IDEinside a debug session.Ask
Add support in DCP for running a process under the debugger while it is also attached to a PTY. Once that ships, the Aspire workaround in
WithTerminal()(and the supporting opt-out plumbing) can be removed so terminal-attached resources become debuggable again.