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
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,8 @@
1
1
# ChangeLog
2
2
3
3
# V1.13.0-pre8
4
-
* Added `hardwareBreakpoints: {required: boolean, limit: numer}` to debug configuration. You can force all breakpoints to use hardware breakpoints. You can also ask cortex-debug to limit the number such breakpoints or you can let gdb or your gdb-server enforce a limit. Please use `hardwareBreakpoints` with caution as in most cases it is better to let gdb decide which type of breakpoint to use based on memory types while making sure you are not over the limit -- this is especially true for devices with large SRAMs where you can have near inifite breakpoints and not even have a performance penalty. HW breakpoints are not inherently better than SW breakpoints so long as GDB can read/write to memory locations.
4
+
* Added `hardwareBreakpoints: {require: boolean, limit: numer}` to debug configuration. You can force all breakpoints to use hardware breakpoints. You can also ask cortex-debug to limit the number such breakpoints or you can let gdb or your gdb-server enforce a limit. Please use `hardwareBreakpoints` with caution as in most cases it is better to let gdb decide which type of breakpoint to use based on memory types while making sure you are not over the limit -- this is especially true for devices with large SRAMs where you can have near inifite breakpoints and not even have a performance penalty. HW breakpoints are not inherently better than SW breakpoints so long as GDB can read/write to memory locations.
5
+
* Also added `hardwareWatchpoints` similar to `hardwareBreakpoints`. Note however that GDB always prefers to use hardware resources for this as doing it in software, while possible, is super slow and unusable.
5
6
6
7
# V1.13.0-pre7
7
8
* Added `overridePreEndSessionCommands` to control how a session ends. If the session does not end your way, we sill end the session the normal way
Copy file name to clipboardExpand all lines: README.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,8 +2,9 @@
2
2
3
3

4
4
5
-
Debugging support for ARM Cortex-M Microcontrollers with the following features:
5
+
Debugging support for ARM Cortex-M (and others) Microcontrollers with the following features:
6
6
7
+
* While we cannot change the extension name due to VSCode Marketplace rules, this extension can be used by non Cortex-M devices and non ARM devices. People have reported using it with Cortex-R/A, Xtensa, RISC-V and even x86. Your mileage may vary.
7
8
* Highly configurable. See https://github.com/Marus/cortex-debug/blob/master/debug_attributes.md
8
9
* Support J-Link, OpenOCD GDB Server, STMicroelectronic's ST-LINK GDB server, pyOCD and the Black Magic Probe
9
10
* Partial support textane/stlink (st-util) GDB Servers (SWO can only be captured via a serial port)
Copy file name to clipboardExpand all lines: debug_attributes.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,10 @@ If the type is marked as `{...}` it means that it is a complex item can have mul
38
38
| graphConfig | {object} | Both | Description of how graphing can be done. See our Wiki for details |
39
39
| hardwareBreakpoints | object | Both | WARNING: Force only HW breakpoints to be used. By default GDB will use HW or SW breakpoints depending on memory type. Use this only in rare circumstances to work around issues in your gdb-server or hardware. This setting is NOT recommended for general use. |
40
40
| hardwareBreakpoints<br>.limit | number | Both | If limit > 0, enforce a limit on the number of hardware breakpoints that can be used |
41
-
| hardwareBreakpoints<br>.required | boolean | Both | If true, forces the use of hardware breakpoints |
41
+
| hardwareBreakpoints<br>.require | boolean | Both | If true, forces the use of hardware breakpoints |
42
+
| hardwareWatchpoints | object | Both | WARNING: Force only HW watchpoints to be used. By default GDB will use HW or SW watchpoints depending on memory type. Use this only in rare circumstances |
43
+
| hardwareWatchpoints<br>.limit | number | Both | If limit > 0, enforce a limit on the number of hardware watchpoints that can be used |
44
+
| hardwareWatchpoints<br>.require | boolean | Both | If true, forces the use of hardware watchpoints |
42
45
| interface | string | Both | Debug Interface type to use for connections (defaults to SWD) - Used for J-Link, ST-LINK and BMP probes. |
43
46
| ipAddress | string | Both | IP Address for networked J-Link Adapter |
44
47
| jlinkscript | string | Both | J-Link script file - optional input file for customizing J-Link actions. |
Copy file name to clipboardExpand all lines: package.json
+38-2Lines changed: 38 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -804,7 +804,7 @@
804
804
"description": "WARNING: Force only HW breakpoints to be used. By default GDB will use HW or SW breakpoints depending on memory type. Use this only in rare circumstances to work around issues in your gdb-server or hardware. This setting is NOT recommended for general use.",
805
805
"type": "object",
806
806
"properties": {
807
-
"required": {
807
+
"require": {
808
808
"type": "boolean",
809
809
"default": false,
810
810
"description": "If true, forces the use of hardware breakpoints"
@@ -818,6 +818,24 @@
818
818
}
819
819
}
820
820
},
821
+
"hardwareWatchpoints": {
822
+
"description": "WARNING: Force only HW watchpoints to be used. By default GDB will use HW or SW watchpoints depending on memory type. Use this only in rare circumstances",
823
+
"type": "object",
824
+
"properties": {
825
+
"require": {
826
+
"type": "boolean",
827
+
"default": false,
828
+
"description": "If true, forces the use of hardware watchpoints"
829
+
},
830
+
"limit": {
831
+
"type": "number",
832
+
"minimum": 0,
833
+
"multipleOf": 1,
834
+
"default": 0,
835
+
"description": "If limit > 0, enforce a limit on the number of hardware watchpoints that can be used"
836
+
}
837
+
}
838
+
},
821
839
"liveWatch": {
822
840
"description": "An object with parameters for Live Watch",
823
841
"properties": {
@@ -1972,7 +1990,7 @@
1972
1990
"description": "WARNING: Force only HW breakpoints to be used. By default GDB will use HW or SW breakpoints depending on memory type. Use this only in rare circumstances to work around issues in your gdb-server or hardware. This setting is NOT recommended for general use.",
1973
1991
"type": "object",
1974
1992
"properties": {
1975
-
"required": {
1993
+
"require": {
1976
1994
"type": "boolean",
1977
1995
"default": false,
1978
1996
"description": "If true, forces the use of hardware breakpoints"
@@ -1986,6 +2004,24 @@
1986
2004
}
1987
2005
}
1988
2006
},
2007
+
"hardwareWatchpoints": {
2008
+
"description": "WARNING: Force only HW watchpoints to be used. By default GDB will use HW or SW watchpoints depending on memory type. Use this only in rare circumstances",
2009
+
"type": "object",
2010
+
"properties": {
2011
+
"require": {
2012
+
"type": "boolean",
2013
+
"default": false,
2014
+
"description": "If true, forces the use of hardware watchpoints"
2015
+
},
2016
+
"limit": {
2017
+
"type": "number",
2018
+
"minimum": 0,
2019
+
"multipleOf": 1,
2020
+
"default": 0,
2021
+
"description": "If limit > 0, enforce a limit on the number of hardware watchpoints that can be used"
2022
+
}
2023
+
}
2024
+
},
1989
2025
"liveWatch": {
1990
2026
"description": "An object with parameters for Live Watch",
0 commit comments