All posts by Ivan Shcherbakov

VisualGDB 5.6 Beta 3 is out

Today we are proud to announce the release of VisualGDB 5.6 Beta 3. This version introduces the ability to directly debug the PIO module of Raspberry Pi Pico, adds support for custom debug setups, increases the stability of the Xilinx Vitis integration, and contains numerous other improvements. In this post I will give you a overview of the main features introduced in this release.

Continue reading VisualGDB 5.6 Beta 3 is out

Live Non-Intrusive Debugging of Real-Time ARM Targets

Have you ever tried debugging a beefy IoT-enabled chip connected to the world via Wi-Fi, Bluetooth, Ethernet, or even a good old boring CAN bus? You stop at a breakpoint, look through the variable values, maybe set a few other breakpoints… And find out that the connection has been reset because the other end had a fixed 50-millisecond timeout, and it took you slightly longer to study 10 different variables. I have hit this pothole far too many times, so when designing the key features for VisualGDB 5.5, I decided to do something about it.

Interestingly, most modern ARM devices provide a mechanism for reading their memory in a non-intrusive way, observing variable values, RTOS state, and even executed code branches in real time and without any interference with whatever the CPU is doing, although most modern debugging environments tend to not make use of it. So I’ve set myself a challenge to overcome this limitation and make debugging of real-time connected systems easier, and in this post I will show you what we have managed to accomplish.

Continue reading Live Non-Intrusive Debugging of Real-Time ARM Targets