Announcing VisualGDB 5.4

Today, after gradually introducing new features in 10 preview versions and incorporating our users’s feedback from 2 betas, we are proud to announce the stable release of VisualGDB 5.4. In this post I will show you the main highlights of the new version compared to VisualGDB 5.3.

Advanced ESP-IDF, Arduino and Mbed Project Subsystems

Most of the project types of the previous VisualGDB 5.3 version were built on top of the Visual C++ project system. That worked great when using MSBuild, but meant redundancy for frameworks that come with their own build systems, such as ESP-IDF or mbed. VisualGDB 5.4 solves this by introducing framework-specific project types. Now you can create ESP-IDF, Arduino and Mbed projects directly based on the underlying build systems. This means compatibility with the latest frameworks, precise framework-specific view in Solution Explorer, easy switching between targets and advanced GUI for editing framework-specific configuration:

You can read more about the new subsystems in the ESP-IDF, Arduino and Mbed tutorials.


VisualGDB 5.4 introduces a new productivity-focused way to navigate through your project’s codebase. Just click on the CodeJumps hint near a function definition and get an instant overview of its references, a snapshot from the call tree, or find all C-style functions “implementing” a certain function pointer:

Better Header Discovery

VisualGDB was able to automatically locate missing headers and update your projects settings before, but in version 5.4 the header discovery got much smarter. It will now automatically locate and resynchronize out-of-date header caches, will find more common problems and will even suggest automatically installing remote Linux packages when you reference a header file provided by one of them:

Clang-format Integration

In addition to the lightweight C/C++ formatting engine used by the previous VisualGDB versions, VisualGDB 5.4 is fully integrated with clang-format. It supports automatically reformatting entire documents or select statements, correctly handles indentation for the new lines and comes with a convenient style editor that lets you tweak the formatting rules with live preview:

Supercharged Embedded Memory Explorer

In VisualGDB 5.4 we have completely redesigned the Embedded Memory Explorer window. Additionally to showing the memory overview and symbol list, you can now compare different builds of your program, instantly explore the disassembly, visualize the section layout in memory and even explore the worst-case and real-time stack usage by your program:

New File Synchronization Engine

If you have ever used VisualGDB to build code on Linux machines, you had to deal with source file synchronization. In the previous versions it was limited to uploading all (or changed) files from Windows to Linux and downloading header directories or sysroots back. In VisualGDB 5.4 we introduce SysprogsSync – a new file synchronization engine inspired by rsync, that considerably speeds up file transfers, allows instantly determining the actual files that need updating, and can be tweaked in every imaginable way. You can now also define per-project or per-host directory pairs and let VisualGDB quickly synchronize them for you when you build, debug or just open a project:

Segger J-Trace Support

VisualGDB 5.4 comes with support for Segger J-Trace, so you can now explore real-time code coverage, or see the exact instructions, lines and functions executed just before a hard-to-track crash:

Official Support for the Keil Compiler and ARM RTX

VisualGDB 5.4 introduces out-of-the-box support for the Keil ARM compiler. Simply pick it from the toolchain selector and enjoy the simplicity and integration of MSBuild-based projects. The Custom edition features an advanced graphical selector for the Keil components, so you can instantly empower your project with numerous ready-to-use frameworks and libraries provided by Keil:

Stepping Through CMake Scripts

Diagnosing CMake-related issues has become very straight-forward with VisualGDB 5.4. Just step through your CMakeLists.txt file with breakpoints, call stack and variable evaluation, and find the root cause of the problem in seconds:

Redesigned Intuitive GUI

In VisualGDB 5.4 we have redesigned most of the wizards, property pages and other GUI using the high DPI-friendly WPF technology. This includes the new GUI for custom actions that lets you add, edit and reorder them efficiently and supports reusable action list files:

Try it out

VisualGDB 5.4 is out and live. Download it here and don’t hesitate to write to us if you have a feature suggestion, or encounter a bug. You can also browse the full VisualGDB change log here.