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. For quick start, please read the following sections.

Editions

WinGDB for Mobile Systems

WinGDB for Mobile Systems is an extension for Visual Studio allowing you to develop Java and native Android applications under Visual Studio. Other mobile systems support is also in plans.

WinGDB for Mobile Systems offers the following features:

WinGDB for Embedded Systems

WinGDB for Embedded Systems is an extension for Visual Studio allowing you to develop applications with locally installed GNU tools under Visual Studio. This development scenario usually targets embedded systems (both with and without OS), but you can also use this edtition to develop for Windows with MinGW or Cygwin tools.

WinGDB for Embedded Systems offers the following features:

WinGDB for Remote Linux Development

WinGDB for Remote Linux Development is an extension for Visual Studio allowing you to develop applications on a remote Linux/Unix machine with remotely installed GNU tools under Visual Studio. This development scenario usually targets desktop Linux (or other Unix) systems.

WinGDB for Remote Linux Development offers the following features:

WinGDB Enterprise

WinGDB Enterprise contains all variants mentioned above in single package.

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 handle with license and register product.

Release notes

Release notes of all published versions.

Demo version

Describes the limitations of demo version.

Development for Android system

General configuration

Explains general development options that should be configured first.

Working with projects

Explains how to use standard Android SDK/NDK projects in Visual Studio.

Debugging Java code

Explains how to debug Java code.

Debugging native code

Explains how to debug native code.

Working with Device Monitor

Explains how to use the Device Monitor window.

Troubleshooting and known problems

Lists known problems and workarounds.

Development for embedded devices and remote Linux systems

Working with projects

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

General configuration

Explains general development options that should be configured first.

Methods of authentication

Describes methods of authentication supported by 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.

Reference

Attaching to remote process

Explains how to attach to a process on remote host and start debugging.

Launching remote and local Cygwin/MinGW-compiled programs

Explains how to launch a process on remote host (or local host when using Cygwin/MinGW) 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.

Map source directories

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

Generating a makefile

Explains how to generate a makefile from Visual Studio project.

Remote build

Explains how to run build on remote machine.

Managing connections

Explains how to manage TCP connections established by WinGDB.

Visualizers

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

Value format specifiers

Explains how to use specifiers to format values.

Editing remote files

WinGDB also allows to use the Visual Studio editor to edit remote source files. This section explains how to use this feature.

Debugging Cygwin programs

Explains how to configure WinGDB for Cygwin support.

Preferences

Describes configuration options for WinGDB.

Custom initialization scripts

Explains how to write custom initialization scripts.

Exceptions

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

Visual Studio tips

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.
Copyright (C) 2008-2012 WinGDB.com. All rights reserved.