You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DAP exceptionInfo is never requested. On a stopped with reason: 'exception', a best-effort exceptionInfo call (gated on the captured supportsExceptionInfoRequest, failures swallowed) could enrich lastStop with exceptionId, breakMode, and the full stack description beyond the description/text fields the stopped event carries today. debugpy, js-debug, and netcoredbg all support it.
Sketch
Capture the initialize response body in the worker, forward it to the SessionManager in the adapter_configured status (or a dedicated message), store on ManagedSession.
On exception stops, worker (or SessionManager via sendDapRequest) issues exceptionInfo(threadId) when supported and merges the result into lastStop.
Follow-up to #220 (breakOnExceptions shipped without runtime capability negotiation).
Gaps
The DAP
initializeresponse is discarded (dap-proxy-connection-manager.ts,initializeSession) — the adapter's realCapabilities(exceptionBreakpointFilters,supportsExceptionInfoRequest,supportsExceptionFilterOptions, ...) are unavailable at runtime. [FEATURE] No way to enable break-on-exception — uncaught exceptions terminate instead of pausing #220's per-language filter tables live on the adapter policies instead; capturing capabilities would let us validate the resolved filters against what the live adapter actually declares (and warn on drift — the staticgetCapabilities()declarations have already drifted once, see the js-debug correction in [FEATURE] No way to enable break-on-exception — uncaught exceptions terminate instead of pausing #220's PR).DAP
exceptionInfois never requested. On astoppedwithreason: 'exception', a best-effortexceptionInfocall (gated on the capturedsupportsExceptionInfoRequest, failures swallowed) could enrichlastStopwithexceptionId,breakMode, and the full stack description beyond thedescription/textfields the stopped event carries today. debugpy, js-debug, and netcoredbg all support it.Sketch
adapter_configuredstatus (or a dedicated message), store onManagedSession.sendDapRequest) issuesexceptionInfo(threadId)when supported and merges the result intolastStop.