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 breakpoints at runtime |
NO |
YES |
YES |
Enable/Disable breakpoints at runtime |
YES |
YES |
YES |
Max. number of concurrent breakpoints |
Unlimited |
3-6 Depends on Debugger |
Unlimited |
Conditional breakpoints |
YES |
YES |
YES |
Set next statement |
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 expressions (Immediate 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 |
Supported boards |
All |
Arduino Zero, M0, Texas Instruments LM4F/CC3200, ESP32, STM32 and more (see note *) |
n/a |
Performance Analysis |
NO |
NO |
YES |
Supports Serial, Bluetooth, and RF connections 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 |
Automatic I2C discovery |
YES |
NO |
n/a |
Extendable open source live debug data/telemetry **) |
YES |
NO |
n/a |
millis() based breakpoint counters |
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