Gdb Debugging: Comparison of Debugging Systems

Visual Micro gdb Debugging works very similar to Visual Studio debugging a native Windows program. If you are familiar with debugging with Visual Studio, there are very few things you have to learn.

The following table compares Classic Visual Micro debugging (for all kinds of boards), gdb Debugging (boards listed here), and Visual Studio debugging when working with a native Windows program (managed or unmanaged)

Breakpoints, Stepping and Code Flow

Feature Classic Visual Micro Debugging Visual Micro gdb Debugging Visual Studio Native
Breakpoints YES YES YES
Set break­points at runtime NO YES YES
Enable/Disable break­points at runtime YES YES YES
Max. number of con­current break­points Unlimited 3-6
Depends on
Debugger
Unlimited
Conditional break­points YES YES YES
Set next state­ment NO NO YES

Variables

Feature Classic Visual Micro Debugging Visual Micro gdb Debugging Visual Studio Native
Set watch variables YES
Requires rebuild
YES
At runtime
YES
At runtime
Change variables at runtime YES
Watched variables only
YES YES
Single Stepping (Into, Over, Out...) NO YES YES
Show call stack NO YES YES
Execute expres­sions (Imme­diate window) NO YES YES
Data Tips NO YES YES

Other

Feature Classic Visual Micro Debugging Visual Micro gdb Debugging Visual Studio Native
Show call stack NO YES YES
Sup­ported boards All Arduino Zero, M0,
Texas Instruments
LM4F/CC3200, ESP32,
STM32 and more
(see note *)
n/a
Perfor­mance Analysis NO NO YES
Supports Serial, Blue­tooth, and RF connec­tions to the board YES NO n/a
Supports Hardware and Software Serial YES NO n/a
Graphical display or digital and analog pins YES NO n/a
Live free memory viewer YES NO YES
Auto­matic I2C dis­covery YES NO n/a
Extend­able open source live debug data/tele­metry **) YES NO n/a
millis() based break­point count­ers YES NO NO
Multi-channel live data plots with event trigger YES NO NO
Can use any digital pin for "trace only" or any two pins for "trace break"
( Read more )
YES NO n/a
Requires specific hardware I/O pins to be available to debug
These cannot be changed so must be free on your board
YES
Serial Only
YES
JTAG:5 / SWD: 2
n/a
Allows CPU on target to run near 100% speed YES NO n/a

*) Note: Support for more boards in the future.
Visual Micro supports a number of external debuggers and boards, and may also be extended to other boards, which can be submitted to Visual Micro, Ltd. for inclusion in the releases (hardware manufacturers can support their own boards), see here

**) Note: This is an open interface that allows users to write their own debug plugins, as shown by examples in the Micro Extensions\Debugger Visualizations folder of a Visual Micro installation