Today we are pleased to announce another update to VisualKernel. It brings numerous improvements to the recently introduced tracing engine (see this page for a full change log), but most importantly, it brings the ability to trace Linux kernel (or individual modules) without a regular network connection.
Continue reading Announcing VisualKernel 4.1 →
Today we are proudly releasing VisualKernel 4.0 that introduces a huge usability improvement to kernel debugging workflows.
The Achilles’ heel of kernel debugging is trying to make sense of a complex live system running many operations simultaneously. Breakpoints and stepping provide some insights, but having the entire system stopped in the debugger often has side effects and breaks unexpected things.
VisualKernel 4.0 fixes this with Live Tracing – a new mechanism that allows quickly capturing, recording and reviewing arbitrary data at any point in time that could be interesting: Continue reading Introducing Advanced Linux Kernel Tracing →
Today we are excited to announce the release of VisualKernel 4.0 Beta 1 – the most intuitive way to develop kernel-mode code for Linux. The new beta is packed with usability features, supports the latest versions of popular Linux distributions and comes with pre-built VM images that let you delve into the Linux kernel code without the need for lengthy setup.
Continue reading Announcing VisualKernel 4.0 →
Today we are excited to announce VisualGDB 5.6R6. This is a maintenance release mostly focusing on improving compatibility with various tools, however it includes one major usability improvement worth noting separately.
Continue reading Better Code Explorer filters in VisualGDB 5.6R6 →
Today we are excited to announce that VisualGDB 5.6 is out of beta testing and is available as a stable release. Compared to the latest Beta 5, it features numerous improvements to the new Code Explorer GUI, as well as RefactorScript – a powerful mechanism for generating boilerplate code.
In this post I will give you an overview of the main highlights of the new release.
Continue reading Announcing VisualGDB 5.6 →
One of the major design goals of VisualGDB is to help our users easily navigate large C/C++ code bases. This is possible due to our heavily optimized Clang-based IntelliSense engine, that can replace the regular VC++ IntelliSense for VisualGDB projects. It uses multiple threads to fully analyze the entire codebase and build a detailed map of your classes, functions, methods, and relations between them. This has enabled features like CodeJumps and integration with Visual Studio’s Code Map.
VisualGDB 5.6 introduces another feature that will save you time dealing with large projects: Code Explorer. And in this post I will give you a tour of its main highlights. Continue reading Introducing Code Explorer →
When Microsoft first announced that the upcoming Visual Studio 2022 is moving to 64 bits, they caught us by surprise. Microsoft products are known for great backward compatibility, but that comes with a hefty cost of keeping alive numerous interfaces and technologies introduced several releases ago. Native components have to work side-by-side with managed components. COM interfaces have to work together with MEF interfaces. Legacy synchronous API should not break the new asynchronous one.
And to my great pleasure (and to Microsoft’s credit) they have done a tremendous job moving the unimaginably complex Visual Studio environment the x64 platform. Sure, it did require some changes on our side, but the overall process went much smoother than I could have anticipated.
What it means for our users, is that VisualGDB is now fully compatible with Visual Studio 2022 Preview. Simply download VisualGDB 5.6 Beta 4 and it will automatically detect your VS2022 installation and will integrate with it, so you can keep enjoying the best of both VisualGDB and Visual Studio without any distractions.
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.
Today we are excited to announce the release of VisualGDB 5.6 Beta 1. This version introduces out-of-the-box integration with the Xilinx Vitis platform and the Raspberry Pi Pico SDK. I will give you a quick overview of the main highlights below.
Continue reading Introducing VisualGDB 5.6 Beta 1 →
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 →