Today we announce the release of VisualGDB 5.3 Preview 6. It focuses on further improving the usability of the embedded and Linux projects. I will give you an overview of the highlights of this version in this post.
Automatic Embedded Project Importing
VisualGDB can now automatically import STM32CubeMX and IAR projects. Simply select it on the first page of the Embedded Project Wizard and VisualGDB will import the source files and common build settings from the project:It gets better than that, next time the original project is updated, VisualGDB will build a list of differences between the old and the new project version and will suggest automatically applying them to your VisualGDB project. Any changes you make to the project will be preserved.
In case you want to import a project from a format not supported by VisualGDB, we made our project importing framework open-source and extremely straight-forward. Check out the source code of the STM32CubeMX import plugin if you are considering making your own plugin.
Stepping over Interrupts
We have also added a few time-saving improvements requested by our users. First of all, if you ever got annoyed by interrupts occurring while you are trying to step through a function, we added a convenient shortcut to suspend them:
Simply use the new “Suspend Interrupts while Stepping” command to temporarily disable interrupts when you step through your code with F10 or F11 (they will be automatically enabled once you resume your program with F5).
Verifying FLASH memory Contents
GDB provides a very basic command for checking whether the FLASH memory actually got programmed correctly (compare-sections). However the only output from this command is whether a certain section got programmed correctly or not, so it’s hard to use it to figure out the possible causes of the programming problems. VisualGDB 5.3 Preview 6 includes a graphical equivalent of the command that will compare the section contents byte-by-byte and will show you the exact differences:
By looking at the mismatch patterns you can quickly see whether the error comes from certain sectors being locked, old image being used, or the memory erase not working.
Better GUI for Selecting Remote Machines
As a part of our gradual process of improving VisualGDB GUI usability, we have redesigned the remote machine selection GUI. You can now conveniently search within the list, remove unneeded connections (unless they are shared via Team Settings), edit expressions using custom variables and manage connection aliases: