SysProgs VisualGDB

From SEGGER Wiki
Jump to: navigation, search

Visual GDB is a full featured extension for Microsoft Visual Studio, which allows debugging embedded systems via Microsoft Visual Studio + J-Link + GDB. VisualGDB is compatible with MSVS 2005-2013 running on Windows XP-7 x86 / x64. (MSVS Express Editions are not supported).

We recommend to use VisualGDB V4.1 or later. After downloading & installing VisualGDB, it should be shown as an extension in Visual Studio. This can be verified by starting Visual Studio and selecting Tools | Extensionmanager.

SynProgs VisualGDB Tutorial 1.png

Using J-Link Built-In Flash Loaders

VisualGDB uses GDB for embedded debugging and so makes automatically use of the J-Link GDBServer. This allows using J-Link out-of-the-box and automatically uses the J-Link built-in flash loaders which are highly optimized for flash programming. It also allows making use of the J-Link "unlimited number of breakpoints when debugging in flash" feature.

Using VisualGDB

Prior to using VisualGDB, the J-Link Software and Documentation package needs to be installed. It is recommended to always use the latest version of the software. During the installation of VisualGDB, it will ask for the installation path of the J-Link software package. To open a project follow the instructions below:

  • Select File| Open | Project/Solution...
  • Select a project file (here: EmbeddedProject1.sln)
  • Click Open

SynProgs VisualGDB Tutorial 2.png

  • Now the Visual Studio + VisualGDB window should look like as follows:

SynProgs VisualGDB Tutorial 3.png

Configuring VisualGDB to Work with J-Link and the Target Device

The target connection can be set as follows:

  • Select Project | VisualGDB Project Properties
  • Click Change settings
  • Choose the target settings for your device and click OK

SynProgs VisualGDB Tutorial 4.png

Now the debug session can be started.

SynProgs VisualGDB Tutorial 5.png

SysProgs also offers free guides to generate a sample project for specific devices. e.g.: http://visualgdb.com/tutorials/arm/stm32/