Releases: Marus/cortex-debug
v0.3.5-beta1
V0.3.5-beta1
This is a pretty big release. The biggest change is to address C++ (and maybe Rust) de-mangled names. It had a big effect on the overall code base especially with regards to how disassembly was provided. The separator :: caused quite a few issues and there are strange and unexpected things in the symbol table. It can affect users not even using C++ or de-mangling.
- Major Issues Fixed (a few minor ones)
- Issue #232: SVD Enumerated types
derivedFromattribute now supported (used by ST quite a lot). Caused silent SVD parsing failures before and the Peripherals window saidNo SVD File Loaded. - Issue #229: Better handling of multiple anonymous unions and structs in the same data structure. Only the first one was shown previously, defect in VSCode really, but had to find a workaround.
- Issue #179: Depending on how the compiler was used, only static variables declared in files in the current directory were being displayed. It was an issue with how
objdumpandgdbbehaved differently. Not a perfect fix. Use Watch Window when in doubt and report any further issues and discrepancies. - Issues with
serialportmodule: Updated to work with the latest version of VSCode/Electron. This will be an ongoing problem but hopefully, we can keep up with new releases of VSCode better in the future. When VSCode moves to a new version of Electron this extension has to be updated. For those adventurous enough, there is a script you can use to generate a compatible version yourself.
- Issue #232: SVD Enumerated types
- New Features
- Preliminary support for C++ de-mangled names. In
launch.json, there is now a configuration option"demangle"to enable de-mangling of symbols both by GDB and Cortex-Debug. We may remove this property in the future and demangle all the time. All users are encouraged to enable this to see if it affects debugging in a negative way. With C++, there can be a lot of issues related to overloading and templates. Please report issues. - There is a new
launch.jsonconfiguration option"serverArgs"to add additional command-line arguments when launching any supported gdb-server (like J-Link, STlink, etc.) - Could be classified as a bug-fix. Before, setting static variable values in the Variables Window did not work. Now, it should work as expected.
- There were some performance enhancements done for loading the Variables window when Global or Static scopes were expanded. Noticeable when single-stepping in large executables.
- New setting
flattenAnonymouswhich will flatten anonymous structs/unions. Default=false - New setting
registerUseNaturalFormatwhich will display registers either in Natural format or Hex: Default=true - The command
View Disassembly (Function)now supports a regular expression as input. It will try an exact match for a function name first. But, it that fails treats the input string as a regular expression, and if the input string ends with/iit is treated as case-insensitive. As always, if there are multiple matches, you have to pick one. - You can now specify the
numberOfProcessorsand thetargetProcessorto debug inlaunch.jsonwhen there are multiple cores/processors in the DAP chain. Cortex-Debug will allocate the required number of TCP ports and use the right one(s) for the processor. This has been tested withpyOCDandOpenOCD
- Preliminary support for C++ de-mangled names. In
Second attempt at fixing binary module loading
This is a second attempt at fixing the binary module loading.
Testing Build for serialport Fixes
This build should hopefully fix the current issues with the serialport binary module - while we still have to deal with updating this module in the future when VSCode updates - this should be much easier now with the scripting that @haneefdm has setup.
V0.2.7
- Added new
servertypeof external for cases where you want to control the GDB server yourself. This could be used for cases where you need to run the GDB server on a different machine, or in cases where there are multiple target cores which may cause the debug server to not operate as expected by cortex-debug. This configuration may require more customizations to the launch.json file than other more automated server types. When thisservertypeis selected a value for thegdbTargetlaunch.json property must be supplied. - Added new launch.json options (overrideLaunchCommands, overrideRestartCommands and overrideAttachCommands) to be able to override the default commands run on those operations. In most cases this is not needed, but may be required for
externalserver types (by default commands that are compatible with openocd are used forexternalserver types). - Add a
overrideGDBServerStartedRegexlaunch.json configuration option - this allows you to provide the system with an alternative regular expression to detect that the GDB server has completed launching and is ready to accept connections. In most cases this will be need - but may be useful in cases where the debug servers output has changed and is no longer recognized. - Major upgrade to the system for finding free ports to use (big thanks to https://github.com/haneefdm for his work on this); should fix recurring problems with port number collisions (e.g. 117(#117)).
- Updates to PyOCD to enable support for CMSIS-Pack specification (added in PyOCD v0.16.0) - thanks to https://github.com/pelrun for this improvement
V0.2.5
V0.2.4
Preview Testing Release with QEMU support
This is a pre-release test version with initial QEMU support.
Test Release - Breakpoints Issue
Potential Issue for the Breakpoint Setting Issue
v0.1.21-test
Updated version number and changelog
Preview Testing Release for schultetwin1
V0.1.18-Pre2 Updated version number and change log