diff --git a/Extension/package.json b/Extension/package.json index 2a7f90d66..64379b3ba 100644 --- a/Extension/package.json +++ b/Extension/package.json @@ -1680,6 +1680,28 @@ "default": "" } } + }, + "stopAtConnect": { + "type": "boolean", + "description": "%c_cpp.debuggers.stopAtConnect.description%", + "default": false + }, + "hardwareBreakpoints": { + "description": "%c_cpp.debuggers.hardwareBreakpoints.description%", + "default": {}, + "type": "object", + "properties": { + "require": { + "type": "boolean", + "description": "%c_cpp.debuggers.hardwareBreakpoints.require.description%", + "default": false + }, + "limit": { + "type": "integer", + "description": "%c_cpp.debuggers.hardwareBreakpoints.limit.description%", + "default": 0 + } + } } } }, diff --git a/Extension/package.nls.json b/Extension/package.nls.json index ac6673035..e8a201001 100644 --- a/Extension/package.nls.json +++ b/Extension/package.nls.json @@ -235,6 +235,10 @@ "c_cpp.debuggers.symbolLoadInfo.loadAll.description": "If true, symbols for all libs will be loaded, otherwise no solib symbols will be loaded. Default value is true.", "c_cpp.debuggers.symbolLoadInfo.exceptionList.description": "List of filenames (wildcards allowed) separated by semicolons ';'. Modifies behavior of LoadAll. If LoadAll is true then don't load symbols for libs that match any name in the list. Otherwise only load symbols for libs that match. Example: \"foo.so;bar.so\"", "c_cpp.debuggers.requireExactSource.description": "Optional flag to require current source code to match the pdb.", + "c_cpp.debuggers.stopAtConnect.description": "If true, the debugger should stop after connecting to the target. If false, the debugger will continue after connecting. Defaults to false.", + "c_cpp.debuggers.hardwareBreakpoints.description": "Explicit control of hardware breakpoint behavior for remote targets.", + "c_cpp.debuggers.hardwareBreakpoints.require.description": "If true, always use hardware breakpoints. Defaults to false.", + "c_cpp.debuggers.hardwareBreakpoints.limit.description": "Optional limit on the number of available hardware breakpoints to use. Only enforced when \"require\" is true and \"limit\" is greater than 0. Defaults to 0.", "c_cpp.taskDefinitions.name.description": "The name of the task", "c_cpp.taskDefinitions.command.description": "The path to either a compiler or script that performs compilation", "c_cpp.taskDefinitions.args.description": "Additional arguments to pass to the compiler or compilation script", diff --git a/Extension/tools/OptionsSchema.json b/Extension/tools/OptionsSchema.json index 8b4290e74..b2926f19a 100644 --- a/Extension/tools/OptionsSchema.json +++ b/Extension/tools/OptionsSchema.json @@ -176,6 +176,23 @@ } } }, + "HardwareBreakpoints": { + "type": "object", + "description": "%c_cpp.debuggers.hardwareBreakpoints.description%", + "default": {}, + "properties": { + "require": { + "type": "boolean", + "description": "%c_cpp.debuggers.hardwareBreakpoints.require.description%", + "default": false + }, + "limit": { + "type": "integer", + "description": "%c_cpp.debuggers.hardwareBreakpoints.limit.description%", + "default": 0 + } + } + }, "CppdbgLaunchOptions": { "type": "object", "default": {}, @@ -360,6 +377,16 @@ "symbolLoadInfo": { "$ref": "#/definitions/SymbolLoadInfo", "description": "%c_cpp.debuggers.symbolLoadInfo.description%" + }, + "stopAtConnect": { + "type": "boolean", + "description": "%c_cpp.debuggers.stopAtConnect.description%", + "default": false + }, + "hardwareBreakpoints": { + "$ref": "#/definitions/HardwareBreakpoints", + "description": "%c_cpp.debuggers.hardwareBreakpoints.description%", + "default": {} } } },