|
1370 | 1370 | "SetExceptionBreakpointsRequest": {
|
1371 | 1371 | "allOf": [ { "$ref": "#/definitions/Request" }, {
|
1372 | 1372 | "type": "object",
|
1373 |
| - "description": "The request configures the debugger's response to thrown exceptions.\nIf an exception is configured to break, a `stopped` event is fired (with reason `exception`).\nClients should only call this request if the corresponding capability `exceptionBreakpointFilters` returns one or more filters.", |
| 1373 | + "description": "The request configures the debugger's response to thrown exceptions. Each of the `filters`, `filterOptions`, and `exceptionOptions` in the request are independent configurations to a debug adapter indicating a kind of exception to catch. An exception thrown in a program should result in a `stopped` event from the debug adapter (with reason `exception`) if any of the configured filters match.\nClients should only call this request if the corresponding capability `exceptionBreakpointFilters` returns one or more filters.", |
1374 | 1374 | "properties": {
|
1375 | 1375 | "command": {
|
1376 | 1376 | "type": "string",
|
|
1463 | 1463 | "frameId": {
|
1464 | 1464 | "type": "integer",
|
1465 | 1465 | "description": "When `name` is an expression, evaluate it in the scope of this stack frame. If not specified, the expression is evaluated in the global scope. When `variablesReference` is specified, this property has no effect."
|
| 1466 | + }, |
| 1467 | + "mode": { |
| 1468 | + "type": "string", |
| 1469 | + "description": "The mode of the desired breakpoint. If defined, this must be one of the `breakpointModes` the debug adapter advertised in its `Capabilities`." |
1466 | 1470 | }
|
1467 | 1471 | },
|
1468 | 1472 | "required": [ "name" ]
|
|
3231 | 3235 | "supportsSingleThreadExecutionRequests": {
|
3232 | 3236 | "type": "boolean",
|
3233 | 3237 | "description": "The debug adapter supports the `singleThread` property on the execution requests (`continue`, `next`, `stepIn`, `stepOut`, `reverseContinue`, `stepBack`)."
|
| 3238 | + }, |
| 3239 | + "breakpointModes": { |
| 3240 | + "type": "array", |
| 3241 | + "items": { |
| 3242 | + "$ref": "#/definitions/BreakpointMode" |
| 3243 | + }, |
| 3244 | + "description": "Modes of breakpoints supported by the debug adapter, such as 'hardware' or 'software'. If present, the client may allow the user to select a mode and include it in its `setBreakpoints` request.\n\nClients may present the first applicable mode in this array as the 'default' mode in gestures that set breakpoints." |
3234 | 3245 | }
|
3235 | 3246 | }
|
3236 | 3247 | },
|
|
3700 | 3711 | "logMessage": {
|
3701 | 3712 | "type": "string",
|
3702 | 3713 | "description": "If this attribute exists and is non-empty, the debug adapter must not 'break' (stop)\nbut log the message instead. Expressions within `{}` are interpolated.\nThe attribute is only honored by a debug adapter if the corresponding capability `supportsLogPoints` is true.\nIf either `hitCondition` or `condition` is specified, then the message should only be logged if those conditions are met."
|
| 3714 | + }, |
| 3715 | + "mode": { |
| 3716 | + "type": "string", |
| 3717 | + "description": "The mode of this breakpoint. If defined, this must be one of the `breakpointModes` the debug adapter advertised in its `Capabilities`." |
3703 | 3718 | }
|
3704 | 3719 | },
|
3705 | 3720 | "required": [ "line" ]
|
|
3774 | 3789 | "hitCondition": {
|
3775 | 3790 | "type": "string",
|
3776 | 3791 | "description": "An expression that controls how many hits of the breakpoint are ignored.\nThe debug adapter is expected to interpret the expression as needed.\nThe attribute is only honored by a debug adapter if the corresponding capability `supportsHitConditionalBreakpoints` is true."
|
| 3792 | + }, |
| 3793 | + "mode": { |
| 3794 | + "type": "string", |
| 3795 | + "description": "The mode of this breakpoint. If defined, this must be one of the `breakpointModes` the debug adapter advertised in its `Capabilities`." |
3777 | 3796 | }
|
3778 | 3797 | },
|
3779 | 3798 | "required": [ "instructionReference" ]
|
|
4042 | 4061 | "condition": {
|
4043 | 4062 | "type": "string",
|
4044 | 4063 | "description": "An expression for conditional exceptions.\nThe exception breaks into the debugger if the result of the condition is true."
|
| 4064 | + }, |
| 4065 | + "mode": { |
| 4066 | + "type": "string", |
| 4067 | + "description": "The mode of this exception breakpoint. If defined, this must be one of the `breakpointModes` the debug adapter advertised in its `Capabilities`." |
4045 | 4068 | }
|
4046 | 4069 | },
|
4047 | 4070 | "required": [ "filterId" ]
|
|
4184 | 4207 | "Previously fetched thread related data has become invalid and needs to be refetched.",
|
4185 | 4208 | "Previously fetched variable data has become invalid and needs to be refetched."
|
4186 | 4209 | ]
|
| 4210 | + }, |
| 4211 | + "BreakpointMode": { |
| 4212 | + "type": "object", |
| 4213 | + "description": "A `BreakpointMode` is provided as a option when setting breakpoints on sources or instructions.", |
| 4214 | + "required": ["mode", "label", "appliesTo"], |
| 4215 | + "properties": { |
| 4216 | + "mode": { |
| 4217 | + "type": "string", |
| 4218 | + "description": "The internal ID of the mode. This value is passed to the `setBreakpoints` request." |
| 4219 | + }, |
| 4220 | + "label": { |
| 4221 | + "type": "string", |
| 4222 | + "description": "The name of the breakpoint mode. This is shown in the UI." |
| 4223 | + }, |
| 4224 | + "description": { |
| 4225 | + "type": "string", |
| 4226 | + "description": "A help text providing additional information about the breakpoint mode. This string is typically shown as a hover and can be translated." |
| 4227 | + }, |
| 4228 | + "appliesTo": { |
| 4229 | + "type": "array", |
| 4230 | + "items": { |
| 4231 | + "$ref": "#/definitions/BreakpointModeApplicability" |
| 4232 | + }, |
| 4233 | + "description": "Describes one or more type of breakpoint this mode applies to." |
| 4234 | + } |
| 4235 | + } |
| 4236 | + }, |
| 4237 | + "BreakpointModeApplicability": { |
| 4238 | + "type": "string", |
| 4239 | + "_enum": ["source", "exception", "data", "instruction"], |
| 4240 | + "enumDescriptions": [ |
| 4241 | + "In `SourceBreakpoint`s", |
| 4242 | + "In exception breakpoints applied in the `ExceptionFilterOptions`", |
| 4243 | + "In data breakpoints requested in the the `DataBreakpointInfo` request", |
| 4244 | + "In `InstructionBreakpoint`s" |
| 4245 | + ], |
| 4246 | + "description": "Describes one or more type of breakpoint a `BreakpointMode` applies to. This is a non-exhaustive enumeration and may expand as future breakpoint types are added." |
4187 | 4247 | }
|
4188 |
| - |
4189 | 4248 | }
|
4190 | 4249 | }
|
0 commit comments