VisualGDB 5.2 Beta 1 is out

Today we are proud to release VisualGDB 5.2 Beta 1. Aside from seamless unit test support for Embedded, Linux and Android projects, better Clang IntelliSense engine, Real-time Watch and a new MSBuild backend, it includes numerous usability improvements that make the development experience more streamlined and removes some annoying distractions. Let’s have a quick look through the main changes.

Asynchronous session start

One known bottleneck of VisualGDB 5.1 and earlier was the project deployment process. Uploading a large Linux or Android app or programming a big embedded project into the FLASH memory could take more than a few seconds and all you could do during that time was to watch the progress window. We’ve changed this in v5.2. Now all the preparation is done in the background and will not distract you from reading through the code, setting breakpoints or exploring it with Code Map.

The details on what’s going on are now shown in the GDB Session window, so you can still check if everything is OK and cancel debugging if it’s not:async

This also works if a GDB command causes a long delay during the session preparation: instead of an annoying popup, VisualGDB will show the details in the GDB Session window:

async2

Natvis optimizations

If you were using VisualGDB with natvis files before, you could have found some difficulties with typedefs. A variable declared like this could work or not work with natvis based on your gdb version, compiler version and general luck:

typedef std::map<int, std::string> MyMap;
MyMap g_MyMap;

Starting from v5.2 this is no longer a problem. VisualGDB now automatically resolves typedefs for all variables and uses a cache to minimize the performance impact of it. We have also added an option to disable this behavior in case your gdb is too slow.

Another great natvis improvement in v5.2 is the performance. Viewing the contents of huge vectors and lists won’t horribly slow you down anymore. VisualGDB is now smart enough to only query the parts of them that are physically displayed on the screen.

Live Variables

If you are a fan of Live Variables, we’ve got good news for you in v5.2. You can now add structures and arrays to Live Variables and VisualGDB will automatically expand them:livestruct1

For optimal performance you can exclude individual fields from being polled and VisualGDB will remember it next time you start a debug session.

We’ve also made it easier to track data from different sources on one graph – just enable the “Scale each variable independently” mode and VisualGDB will stretch each graph vertically so you could make sense of it even if one variable has a 1000x larger range than the others:livestruct2

Better Project Properties

With VisualGDB 5.2 you can tweak your project without opening a modal “VisualGDB Project Properties” dialog. Instead simply open a .vgdbsettings file from Solution Explorer and VisualGDB will display it just like a normal document:properties

Hit ‘Ctrl-S’ or click “Save” on the toolbar to instantly apply your project changes.

Quick Debug Cross-Toolchains

The “Quick Debug” window now directly supports cross-toolchains, so you don’t need any special workarounds to use them:quickdebug

Embedded CMake Projects

VisualGDB 5.2 makes it extremely easy to import an existing embedded project built with CMake. Just select it in the wizard and VisualGDB will automatically configure IntelliSense and debug settings for you:importcmake

Reference Highlighting on the Dark Theme

We have also resolved an annoying issue with the reference highlighting colors on the dark theme. Starting from v5.2 Beta 2 they will no longer look pale:dark

Easier Customization and Tweaking

The new version 5.2 makes your life easier if you are using a custom OS that reports things slightly differently.  VisualGDB now comes with a RegularExpressions.xml file that stores the regular expressions used by VisualGDB to parse tool versions, error messages, thread IDs and other system information. If your custom OS reports it differently, making VisualGDB support it is now a matter of editing one text file:xml

More

VisualGDB 5.2 Beta 1 also includes the features introduced in the previous Preview builds. You can find more posts about those features here.

Download

You can download VisualGDB 5.2 Beta 1 from the download page. All feedback is welcome through our feedback form or directly per email. Enjoy VisualGDB!