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
* The only place we could put the `Reset` button was at the beginning. We would have rather put it closer to the end but there isn't an API to do that as far as we know. Note that the toolbar appears in docking and floating modes and it is the docking mode where this was not possible. Hopefully, it is not a hinderance.
11
-
* Some gdb-servers do not respond appropriately to being reset to be compatible with `gdb`. You will have to find out what set of gdb-server/gdb commands work for you and use appropriate options in the `launch.json`. For instance, just after 'reset halt' some versions of OpenOCD do not provide `gdb` the updated registers (SP, PC, LR, etc.). Some devices may have a more complicated, customized reset mechanism, boot-loaders, etc. To force a synchronization between `OpenOCD` and `gdb`, you can do the following in `launch.json`.
12
-
*`svdAddrGapThreshold``launch.json` option. Normally adjacent register addresses with small gaps are combined to reduce the number of device memory reads. Default is 16 bytes. You can now control the number of bytes the gap can be including zero. Zero means strict reading of bytes but adjacent registers are still combined if there is no gap.
13
-
14
-
```
15
-
"postRestartSessionCommands": [
16
-
"monitor gdb_sync",
17
-
"stepi" // Because of the command above, this is a no-op. No code is actually executed
18
-
]
11
+
*`Restart` causes VSCode to clear the `Debug Console` but `Reset` does not do that as VSCode is not involved.
12
+
* Some gdb-servers do not respond appropriately to being reset and are not compatible with `gdb` expectations. You will have to find out what set of gdb-server/gdb commands work for you and use appropriate options in the `launch.json`. For instance, just after 'reset halt' some versions of OpenOCD do not provide `gdb` the updated registers (SP, PC, LR, etc.). Some devices may have a more complicated, customized reset mechanism, boot-loaders, etc. To force a synchronization between `OpenOCD` and `gdb`, you can do the following in `launch.json`.
19
13
```
20
-
***Auto-continue**: Operations `Launch`, `Reset`, and `Restart` will issue a `continue` to gdb upon sussesful reset-halt. For `Launch` this is not done if `runToEntryPoint` has been enabled. It is also not done if the corresponding action has a post-session-start commands set (i.e., `postStartSessionCommands`, `postRestartSessionCommands`). This does not apply to `Attach` since that always stops on an successful `Attach`. You can disable the auto-continue behavior using `doNotContinueAfterReset`
14
+
"postRestartSessionCommands": [ // OpenOCD only
15
+
"monitor gdb_sync",
16
+
"stepi" // Because of the command above, this is a no-op. No code is actually executed
17
+
]
18
+
```
19
+
***`Run Without Debugging (^F5)`**: Experimental. This will now work but VSCode does not clearly define what this button should do. In an embedded cases, that is even murkier because without GDB and a gdb-server, there is no way to start the program. Between VSCode and Cortex-Debug, the end result is as follows
20
+
* VSCode does not transmit any breakpoints to Cortex-Debug and hence no breakpoints
21
+
* VSCode does show a pause button in active mode but pressing on it does nothing because that action is not sent to Cortex-Debug
22
+
*`runToEntryPoint` is disregarded and there will not be a stop after a Reset either
23
+
* If however your program halts because of an exception or any other reason, it is handled normally and now you will enter the normal debugger
24
+
* You can still Restart/Reset and the program restarts and continues to run
25
+
26
+
***Auto-continue**: New behavior. Operations `Launch`, `Reset`, and `Restart` will now issue a `continue` to gdb upon sussesful reset-halt. This is not done in the followin cases
27
+
*`runToEntryPoint` has been used for a `Launch` session or it is an `Attach` session
28
+
* If a post-session-start commands (i.e., `postStartSessionCommands`, `postRestartSessionCommands`) are used; you can insert the `continue` command in there.
29
+
* Or you have used the `"breakAfterReset" = true`
30
+
31
+
*`svdAddrGapThreshold` option in `launch.json` option. Normally adjacent register addresses with small gaps are combined to reduce the number of device memory reads. Default is 16 bytes. You can now control the number of bytes the gap can be including zero. Zero means strict reading of bytes but adjacent registers are still combined if there is no gap.
32
+
21
33
* JLinkGDBServer will no longer display a graphical progress bar at `Launch`. If you need it, you can use the `-gui` command-line option in `launch.json`'s `serverArgs`
Copy file name to clipboardExpand all lines: debug_attributes.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
| Attribute | Applies To | Description |
2
2
| --------- | ---------- | ----------- |
3
+
| breakAfterReset | Common | Applies to Restart/Reset/Launch, halt debugger after a reset. Ignored for `Launch` if `runToEntryPoint` is used
3
4
| cmsisPack | Common | Path to a CMSIS-Pack file. Use to add extra device support.
4
5
| cwd | Common | Path of project
5
6
| debuggerArgs | Common | Additional arguments to pass to GDB command line
6
7
| device | Common | Target Device Identifier
7
-
| doNotContinueAfterReset | Common | Do not 'continue' execution after a 'Launch', 'Reset' or 'Restart'. Program will stop at the reset-vector instead
8
8
| executable | Common | Path of executable
9
9
| gdbPath | Common | This setting can be used to overrride the GDB path user/workspace setting for a particular launch configuration. This should be the full pathname to the executable (or name of the executable if it is in your PATH). Note that other toolchain executables with the configured prefix must still be available.
Copy file name to clipboardExpand all lines: package.json
+8-4Lines changed: 8 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -335,10 +335,10 @@
335
335
"items": "string",
336
336
"description": "Additional GDB Commands to be executed at the end of the re-start sequence, after a debug session has already started."
337
337
},
338
-
"doNotContinueAfterReset": {
338
+
"breakAfterReset": {
339
339
"default": false,
340
340
"type": "boolean",
341
-
"description": "Do not 'continue' execution after a 'Launch', 'Reset' or 'Restart'. Program will stop at the reset-vector instead"
341
+
"description": "Applies to Restart/Reset/Launch, halt debugger after a reset."
342
342
},
343
343
"overrideGDBServerStartedRegex": {
344
344
"description": "You can supply a regular expression (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) in the configuration property to override the output from the GDB server that is looked for to determine if the GDB server has started. Under most circumstances this will not be necessary - but could be needed as a result of a change in the output of a GDB server making it incompatible with cortex-debug. This property has no effect for bmp or external GDB server types.",
@@ -1160,10 +1160,10 @@
1160
1160
"items": "string",
1161
1161
"description": "Additional GDB Commands to be executed at the end of the re-start sequence, after a debug session has already started."
1162
1162
},
1163
-
"doNotContinueAfterReset": {
1163
+
"breakAfterReset": {
1164
1164
"default": false,
1165
1165
"type": "boolean",
1166
-
"description": "Do not 'continue' execution after a 'Launch', 'Reset' or 'Restart'. Program will stop at the reset-vector instead"
1166
+
"description": "Applies to Restart/Reset/Launch, halt debugger after a reset. Ignored for `Launch` if `runToEntryPoint` is used"
1167
1167
},
1168
1168
"overrideGDBServerStartedRegex": {
1169
1169
"description": "You can supply a regular expression (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) in the configuration property to override the output from the GDB server that is looked for to determine if the GDB server has started. Under most circumstances this will not be necessary - but could be needed as a result of a change in the output of a GDB server making it incompatible with cortex-debug. This property has no effect for bmp or external GDB server types.",
0 commit comments