Introduction

WinGDB is an extension for Visual Studio development environment. It allows you to develop programs for the following targets:

WinGDB scope extends over the following development phases:

WinGDB is designed to be as easy and convenient as possible. If you are familiar with Visual Studio Debugger, you won't need much additional learning. Most features work exactly the same way. However, there are some platform-related differences and additional concepts specific to Unix operating systems (e.g. signal handling). This manual contains sections explaining such subjects.

Editions

WinGDB Unified Edition

Prior to WinGDB 2.4, there were several WinGDB editions targeted at different platforms. Starting from WinGDB 2.4, these editions were merged into single, "all in one" package. You can use it to develop for every supported platform. Note that Android is no longer supported by WinGDB itself -- there is now a separate product called VSDroid for that purpose.

WinGDB for Mobile Systems aka VSDroid

WinGDB for Mobile Systems was an extension for Visual Studio allowing you to develop Java and native Android applications under Visual Studio. Currently it is offered free of charge, under VSDroid name. You can get it as a separately installed package without any need to buying a license. VSDroid is not covered by this manual, as it has its own documentation.

Requirements and installation

Prerequisites

Describes the requirements that both your local system (Windows-based) and remote system (Unix-based) should meet.

Installation

Describes the installation process.

Product registration

Explains how to register the product.

Release notes

Release notes of all published versions.

Getting started

Basic concepts and general configuration

Explains basic concepts of WinGDB and general configuration options.

Working without a project (quick mode)

Explains how to start a quick development session, without opening and configuring a Visual Studio project.

Working with projects

Explains basic concepts related to the usage of Visual Studio projects with WinGDB.

Remote Linux development

Explains how to use WinGDB to develop and debug applications remotely on desktop/server Linux machines.

Indirect Linux development

Explains how to use WinGDB to develop and debug applications indirectly (with gdbserver) on desktop/server Linux machines.

MinGW / Cygwin development

Explains how to use WinGDB to develop and debug Windows applications using MinGW or Cygwin tools.

Embedded Linux development

Explains how to use WinGDB to develop and debug embedded or mobile Linux applications.

Embedded device development

Explains how to use WinGDB to develop and debug embedded "bare metal" devices using OpenOCD.

Projects reference

Creating new projects

Explains how to use the New project wizard to create a new Visual Studio project and configure it in simplified way.

Creating projects from existing sources

Explains how to use the New project wizard to create a new Visual Studio project from existing sources (not built by Visual Studio) and configure it in simplified way.

Configuring existing Visual Studio projects

Explains how to configure existing Visual Studio projects for multiplatform development.

Importing sources to existing projects

Explains how to recursively import source directories into an existing project.

Using the configuration wizard

Shows how to use the Project configuration wizard.

Working with CMake

Describes how to use WinGDB with CMake projects.

Working with QMake

Describes how to use WinGDB with QMake projects.

Settings management

Explains how to manange WinGDB settings in Visual C++ projects and solutions.

Working with IntelliSense

Describes how to configure your project to be able to use IntelliSense.

Working with configurations and platforms

Describes how to create project configurations for multiplatform development.

Remote development

Methods of authentication

Describes methods of authentication supported by WinGDB.

Managing connections

Explains how to manage TCP connections established by WinGDB.

Remote terminal

Explains how to connect to remote machines using integrated remote terminal.

Remote package manager

Explains how to manage software packages on remote systems.

Process console

Explains how to use the process console window.

Transferring files and directories

Explains how to copy files to the remote machine and back.

Configuration reference

Debugger settings

Summarizes settings for the debugger and explains their meaning.

Build and deploy settings

Summarizes settings for the build and deploy actions and explains their meaning.

Mapping source directories

Explains how to map source directories between different locations/hosts.

Generating a makefile

Explains how to configure the makefile generator.

Editing a makefile

Describes the enhanced makefile editor.

Automated flow options

Explains configuration options for optional automated tasks: file transfers, connection opening and makefile updates.

Preferences

Describes global configuration options for WinGDB.

Scriptable services

Automation API

Contains an overview of WinGDB Automation API, a library allowing to control WinGDB from external add-in or macro.

Lua primer

Contains an introduction to the Lua scripting language.

Lua reference

Contains a detailed documentation of the Lua scripting language.

Scripted makefile generator reference

Contains a reference of the Lua-based scripting language of makefile generators. This section describes classes and methods WinGDB provides to Lua scripts.

Debugging tasks

Attaching to process

Explains how to attach to a process with WinGDB and start debugging.

Launching X11 processes

Explains how to launch a X11 process on remote host with a connection to local X-server.

Examining remote core dump

Explains how to examine a core dump on remote host.

Visualizers

Explains how to use complex data type visualizers (e.g. for STL containers).

Text visualizers

Explains how to use text data visualizers.

Value format specifiers

Explains how to use specifiers to format values.

Debugging multiple processes

Explains how to debug multiple processes simultaneously.

Accessing GDB command interface

Explains how to enter GDB commands directly and use GDB scripts.

Exceptions

Explains how to configure debugger to break execution when an exception is thrown or caught.

Debugging Cygwin programs

Explains how to configure WinGDB for Cygwin support.
Copyright (C) 2008-2016 SOFT-ERG. All rights reserved.