-
Notifications
You must be signed in to change notification settings - Fork 35.7k
Closed
Labels
debtCode quality issuesCode quality issuesdebugDebug viewlet, configurations, breakpoints, adapter issuesDebug viewlet, configurations, breakpoints, adapter issues
Milestone
Description
Currently the order of ConfigurationDoneRequest and LaunchRequest is not deterministic, that means it is possible that a ConfigurationDoneRequest comes after the LaunchRequest. This is problematic because only a ConfigurationDoneRequest indicates that all breakpoints have been registered and that a LaunchRequest is able to hit all those breakpoints. If the ConfigurationDoneRequest comes after the LaunchRequest some breakpoints might be missed.
There are two scenarios to consider:
- An InitializedEvent is sent early (after the InitializeRequest has been processed but before the LaunchRequest). This is used in mono-debug and mock-debug where breakpoints can be registered before launching the debuggee.
- An InitializedEvent is sent late (while the LaunchRequest is being processed). This is used in node-debug where node.js has to be launched first before breakpoints can be registered).
From the first case it looks like the frontend could always wait with calling LaunchRequest until ConfigurationDoneRequest has been ended. But this would not work with the second case.
/cc @isidorn
Metadata
Metadata
Assignees
Labels
debtCode quality issuesCode quality issuesdebugDebug viewlet, configurations, breakpoints, adapter issuesDebug viewlet, configurations, breakpoints, adapter issues