VisualGDB

Serious Cross-Platform for Visual Studio!

1000+ modern devices. One IDE.

VisualGDB automatically installs all the necessary tools and code libraries to get your first project working with just a few mouse clicks. It supports STM32, NXP, Atmel, TI, Infineon, Nordic, SiLabs, MSP430, AVR, ESP32, ESP8266 and many other devices.

VisualGDB can automatically import Atmel START and MCUXpresso SDKs, seamlessly converting the settings, bundled libraries and example projects.

Simply select your device in the wizard, connect the debug probe and you can start stepping through your first project.

Integration with Popular Frameworks

VisualGDB includes streamlined integration for Arduino, ESP-IDF, Mbed, NRFConnect, Cypress WICED frameworks and the STM32CubeMX tool.

Deep Solution Explorer integration automatically updates framework-specific build statements when you add source files, or edit target properties.

Advanced Settings GUI will lets you quickly fine-tune the project to your needs without going into the framework internals.

Powerful IntelliSense and debugger integration allows you to focus on the code you are developing, while VisualGDB takes care of the tooling setup.

Easy Support for Complex Projects

The new Advanced CMake Project Subsystem provides intuitive support for huge and complex project setups by supporting:

Embedded CMake project structure is stored in debuggable CMakeLists.txt files and is kept separate from project-level settings. This simplifies code reuse and enables interoperability with external tools.

Advanced Non-Intrusive Debugging

VisualGDB can make sense of complex real-time code without ever having to interfere with it.

Observe, plot and monitor individual variables or complex data structures while your program is running with Live Watch.

Instantly see recent functions and code branches using Live Coverage.

Keep a track of the real-time stack/heap usage and RTOS state with advanced Live Watch plugins.

GCC, Keil and IAR Compiler Support

VisualGDB is fully compatible with GCC, Keil and IAR compilers. This includes seamless MSBuild support with Keil- and IAR-specific property sheets, Makefile support as an alternative to MSBuild, full support for parsing of build messages and a settings page for easily integrating Keil packs into your project.

Profiler and Real-Time Watch

VisualGDB can collect and visualize performance information about your ARM-based project.

Use the sampling-based or instrumentation-based profiler to quickly find what paths of the program spend the most time.

Use Real-Time Watch to see the exact timing of select functions, RTOS threads, or synchronization primitives.

Read our embedded profiling tutorials to learn more about performance analysis.

Advanced Static Analysis

Enjoy powerful tools for analyzing your embedded binaries.

Explore the detailed memory footprint and quickly find the differences between similar builds with the Memory Explorer.

View the worst-case stack usage of each function with the extensible static stack analyzer.

Use the Offline Disassembly view to quickly understand effects of optimization settings without having to start a debug session.

Want more? Check out the Memory Explorer Documentation.

Advanced Debugging GUI

Enjoy advanced productivity GUI for embedded debugging.

Analyze what the exactly hardware is doing with the powerful Hardware Registers window.

See the exact amount of cycles between breakpoints or steps without any instrumentation using Chronometer.

Observe the real-time memory contents and highlight variable bounds with the Advanced Memory window.

Easily understand large array contents with Visual Watch.

Embedded-friendly IntelliSense

VisualGDB includes a Clang-based IntelliSense engine that is optimized for commonly used embedded frameworks.

Enjoy precise code completion and navigation that fully understands GCC-specific syntax.

Use Code Map and CodeJumps to quickly navigate large C/C++ code bases.

Read more about Clang-based IntelliSense.

Easy project importing

VisualGDB comes with plugins for automatically importing projects from most popular IDEs and project generators. Simply point a an existing project and get it converted to a Visual Studio project in no time.

The project importing plugins are open-source and the SDK is documented, so you can easily customize the plugins for your needs, or add support for custom project formats and build systems.

Unit Tests and Integration Tests

With VisualGDB you can create unit and integration tests and run them directly on your hardware:

  • Use Visual Studio Test Explorer for Sorting and Grouping
  • Easily create unit tests for ARM and ESP32-based projects
  • Record and run Embedded Integration tests with zero overhead
  • Conveniently manage mbed test cases, as well as individual tests
  • Easily switch between debugging the main program or its unit tests

Most test projects (except mbed) require no separate serial port and communicate test results directly over JTAG/SWD.