All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- FreeRTOS-aware crash analyzer support in
xsdb-gdbsessions, including handler-aware analysis for:vApplicationAssertvApplicationStackOverflowHookvApplicationMallocFailedHook- ARM abort/exception handlers used by Xilinx FreeRTOS ports (A9, R5, A53)
- MicroBlaze FreeRTOS exception handler register-dump context
- Extended
XSDB: Run Crash Analyzerto emit formatted FreeRTOS crash reports when halted inside supported handlers.
XSDB: Quick Reset,XSDB: Reset Processor, andXSDB: Reset Systemnow work without an active debug session by using standalone XSDB fallback.- Added support for standalone reset settings:
xilinx-debug.xsdb.standalonePathxilinx-debug.xsdb.standaloneHwServerUrl
- Integrated in-extension HDF/XSA parser module under
src/hdf-xsa-parserfor hardware handoff parsing and normalization. - New Xilinx: Project Setup Wizard webview command to import
.hdf/.xsa, inspect parsed hardware info, and generate project scaffolding. - New XSDB memory transfer commands:
XSDB: Dump Memory to FileXSDB: Load Memory from File
- Hex editor binary file actions:
Export .binImport .bin
- New XSDB: Clock & Power Monitor panel with platform-aware clock decoding and ZynqMP power-domain status decoding.
- New optional
crashAnalyzerlaunch/attach setting forxsdb-gdbto emit ARM fault analysis reports on exception/signal stops.
- Root TypeScript build now excludes nested
hdf-xsa-parserworkspace sonpm run vscode:prepublishcompiles only the extension sources. - Added extension dependencies required by the integrated parser:
adm-zipfast-xml-parser
-
XSDB for board initialization tasks (connect, target select, loadhw, PS init, FPGA program, reset)
-
UART Serial Terminal: Built-in serial terminal in the VS Code Terminal panel using external tools (plink/picocom/minicom/screen/PowerShell). Auto-detects available COM ports on Windows and
/dev/ttyUSB*//dev/ttyACM*on Linux. Commands:UART: Connect Serial Terminal,UART: Disconnect Serial Terminal. -
Telnet Terminal: Built-in Telnet terminal using Node.js
net.Socketwith inline IAC negotiation handling. No external dependencies required. Commands:Telnet: Connect,Telnet: Disconnect. -
Raw TCP Terminal: Built-in plain TCP terminal for non-telnet socket servers (for example lwIP TCP console endpoints on Zynq targets). Commands:
TCP: Connect (Raw),TCP: Disconnect (Raw). -
Quick Connect/Disconnect Buttons: Status bar buttons for UART, Telnet, and raw TCP that act as one-click toggles (connect when disconnected, disconnect when connected).
-
Hex Memory Editor: Read/write hex memory editor webview for inspecting and modifying memory during
xsdb-gdbdebug sessions. Classic hex editor layout with offset, hex bytes, and ASCII columns. Click to edit, write changes back. Command:XSDB: Hex Memory Editor. -
Quick Board Reset: Status bar button and debug toolbar button for instant board reset during
xsdb-gdbsessions. Configurable default reset type. Commands:XSDB: Quick Reset,XSDB: Reset Processor,XSDB: Reset System. -
Standalone XSDB Connection Manager: Shared infrastructure for tools that need XSDB access outside of debug sessions.
-
New configuration settings under
xilinx-debug.*for serial, telnet, hex editor, and quick reset defaults.
- fix missing output of variable type for structure (@henryriley0)
- add static variable support (@henryriley0)
- fix gdb check error when debug beginning (@henryriley0)
- fix implicitly type error in log message when build vsix (@henryriley0)
- check for configured debugger before start to provide a nicer error message (@GitMensch)
- New
frameFiltersoption for GDB that allows using custom frame filters, enabled by default (@JacquesLucke) - Suppress error for hover as the user may just play with the mouse ([@oltolm]).
- solve the problem of failed parsing of containers (@henryriley0)
- Fixes #421 - Added
registerLimitoption to specify the registers to display - PR #444 (@chenzhiy2001) - resolve the issue of not being able to set the GDB binary with a path on Windows - PR #448 (@henryriley0)
- add qt unit test (@henryriley0)
0.27.0 - 2024-02-07
- Added registers view (@nomtats) #242
- Enabled breakpoints inside
riscvfiles (@William-An) #404
0.26.1 - 2022-12-31
- Fixes #387 - Updated documentation for running as
sudo(@GitMensch) - Fixes #236 - Documentation indicates that multi-threaded debugging is not supported (@brownts)
- Fixes #381 - POSIX relative paths in SSH
sourceFileMapwere not properly formatted (@brownts) - Fixes #348 - Not waiting for
autoruncommands to complete before continuing execution (@brownts) - Fixes #382 - Breakpoints not always cleared over SSH - PR #383 (@abussy-aldebaran)
- Fixes #305 - Added updates for HACKING and documentation linting (@brownts, @GitMensch)
- Fixes #322 - replace deprecated
substr(@GitMensch) - Fixes #332 - "go to cursor location" does not work with ssh
sourceFileMap(@GitMensch) - Partially fixes #347 - Add github automated unit testing and linting - PR #354 (@brownts)
- Fixes #346 - Case-sensitivity not respected in SSH path mapping - PR #352 (@brownts)
- Fixes #342 - Local variables not displayed more than 2 stack frames deep - PR #345 (@brownts)
0.26.0 - 2022-04-16
- Resolves #298 - New
ssh.sourceFileMapconfiguration to allow multiple substitutions between local and ssh-remote and separate ssh working directory - PR #323 (@GitMensch) - Resolves #265 - allow specification of port/x11port via variable (as numeric string) (@GitMensch)
- New
stopAtEntryconfiguration to run debugger to application's entry point - PR #306 (@brownts) - Github Action added for production releasing (@WebFreak001, @brownts)
- Resolves #244 - New
stopAtConnectconfiguration - PR #299, #302 (@brownts)
- vscode dependency was increased from 1.28 to 1.55 along with the debug-adapter protocol to get rid of some outdated dependencies (@GitMensch)
- SSH2 module updated from deprecated 0.8.9 to current 1.6.0, allowing
connections with more modern key algorithms, improved error handling
(including user messages passed on) and other improvements. (@GitMensch)
- See SSH2 Update Notices for more details.
cwdchanged to required property (@WebFreak001)
- Fixes #329 - Attaching to local PID now performs initialization prior to attaching - PR #341 (@brownts)
- Fixes #339 - Fix MI parser to allow async-record w/o a result - PR #340 (@brownts)
- Fixes #206 - Extra debugger arguments now work in all configurations - PR #316, #338 (@GitMensch, @brownts)
- Fix path type detection for differing remote path type - PR #334 (@brownts)
- Fixes #298 - fix path translation for SSH to Win32 and for extended-remote without executable (attach to process) - PR #323 (@GitMensch)
- Fixes #308 - fix stack frame expansion in editor via use of the
startFrameparameter - PR #312 (@brownts) - Fixes #277 - prevent "Not implemented stop reason (assuming exception)" in many cases, initial recognition of watchpoints (@GitMensch)
- Fixes #307 - fix additional race conditions with setting breakpoints - PR #313 (@brownts)
- Fixes #230 - Breakpoints may be deleted when not recognized correctly - PR #259 (@kvinwang)
- Fixes #303 - fix for race conditions on startup where breakpoints were not hit - PR #304 (@brownts)
- Set as a default debugger for all supported languages - PR #281 (@reznikmm)
- Fixes #293, #294 - Path Substitutions working with attach+ssh, LLDB and Windows-Style paths - PR #295 (@brownts)
- Fixes #278 - Add quotation marks around the variable name to support spaces - PR #279 (@martin-fleck-at)
- Fixes #282 - Ensure we send error response for threads request - PR #283 (@martin-fleck-at)
- Stop using
enableBreakpointsForin package.json - PR #280 (@reznikmm)
0.25.1 - 2021-06-14
- Remove the need for extra trust for debugging workspaces per guidance "for debug extensions" as noted in the Workspace Trust Extension Guide - PR #272 (@GitMensch)
- don't abort if
set target-asyncorcdfails in attach (brings in line with existing behavior from launch) (@WebFreak001) - Fix simple value formatting list parsing with empty string as first argument - PR #239 (@nomtats)
0.25.0 - 2020-05-20
- Resolves #210 - Improve thread names on embedded GDB, makes not all threads always have the same name (@anshulrouthu, @WebFreak001)
- Support up to 65535 threads instead of 256 threads - PR #227 ([@ColdenCullen])
- Add support for path substitutions (
{"fromPath": "toPath"}) for GDB and LLDB - PR #221 (@karljs)
0.24.0 - 2019-12-19
- Implement "Jump to Cursor" to skip instructions - PR #177 (@ntoskrnl7, @WebFreak001)
- Resolves #188 - Added zig as supported language (@evangrayk, @WebFreak001)
- Fixes #199 - Fix memory dump for theia (@WebFreak001)
- Fix example Debug Microcontroller template (@WebFreak001)
0.23.1 - 2019-04-03
- Fixes #174 - Added kotlin to language list (@WebFreak001)
- Fixes #173 - Breakpoints in SSH in other working directories properly resolved (@WebFreak001)
- Fixes #175 - Undefined/null paths don't crash stacktrace (@WebFreak001)
0.23.0 - 2019-03-19
- Resolves #158 - New Examine memory Location UI (@WebFreak001)
- Project code improvements - PR #150, #151 (@simark)
- Initial configurations contain valueFormatting now - PR #149 (@Yanpas)
- Fixes #170 - Normalize file paths in stack trace (@WebFreak001)
- Fixes #171 - Breakpoints in SSH on windows fixed - PR #172 (@HaronK)
0.22.0 - 2018-03-21
- Additional Fortran Language Ids - PR #138 (@rafmudaf)
- Resolves #134 - Support for using SSH agent - PR #136 (@JelleRoets)
- Resolves #36 - Support multi-threading - PR #129 (@LeszekSwirski)
- Breakpoint support for Fortran90 - PR #130 (@eamousing)
- Fixed GDB expansion logic with floats - PR #128 (@Marus)
- Fixed attach to PID template - PR #126 (@gentoo90)
0.21.2 - 2017-07-23
- Icon fix and changelog update (@WebFreak001)
0.21.1 - 2017-07-23
- Enabled breakpoints for crystal - PR #111 (@faustinoaq)
0.21.0 - 2017-07-23
- Several fixes to variable pretty printers - PR #109 (@gentoo90)
0.20.0 - 2017-05-26
- Added support for pretty printers in variable list, enable with
"valuesFormatting": "prettyPrinters"if you have a pretty printer to get potentially improved display of variables. - PR #107 (@gentoo90)