Introduction
WinGDB is an extension for Visual Studio development environment.
It allows you to develop programs for the following targets:
- Linux/Unix systems, using native development tools remotely,
- Android/ARM mobile systems,
- Windows, using MinGW or Cygwin tools,
- embedded Linux/Unix systems, using cross-development tools,
- embedded devices through JTAG/OCD interface.
WinGDB scope extends over the following development phases:
- Editing the code: standard Visual Studio editors are used, with several
WinGDB extensions. You can also write Java code (for Android targets) even under
Visual Studio versions which do not support Java anymore. WinGDB adds
simple (but continuously improved) support for Java language.
- Project build: you can launch makefile builds and jump to errors directly
from Visual Studio console. WinGDB provides also a simple makefile generator,
which can be used to convert Visual Studio project to a makefile buildable with
GNU make. For Android targets, standard SDK/NDK projects are directly supported
in the Solution Explorer window (no project conversion is required).
- Project deploy: the resulting files can be copied to target machine, or
a custom deploy script may be called. For Android targets, the package is
being created and deployed using standard package manager commands.
- Debugging: GDB debugger is run in the background, either via SSH connection
to target machine, or GDB serial protocol. Attach, launch and examine core scenarios
are supported. WinGDB provides a convenient user interface based on Visual Studio Debugger,
including: source code view inside Visual Studio, code stepping, breakpoints, locals, autos,
watch, modules, disassembly, I/O console. Most standard Visual Studio Debugger features are
supported. Visualizers feature allows to view contents of complex containers. Also Java
debugging is supported, as WinGDB provides its own implementation of Java debugger
engine based on JDI API.
-
Remote machine control: you can use integrated remote terminal window to log in to the
target machine.
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.
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. Currently it is offered free of charge.
That means, you can get it either as a part of the Unified Edition (but this part is free addition,
excluded from the support) or as a separately installed package without any need to buying
a license. The mobile edition is not covered by this manual, as it has its own documentation.
Requirements and installation
Describes the requirements that both your local system (Windows-based)
and remote system (Unix-based) should meet.
Describes the installation process.
Explains how to register the product.
Release notes of all published versions.
Getting started
Explains basic concepts of WinGDB and general configuration options.
Explains how to start a quick development session, without opening and configuring
a Visual Studio project.
Explains basic concepts related to the usage of Visual Studio projects with WinGDB.
Explains how to use WinGDB to develop and debug applications remotely on desktop/server Linux machines.
Explains how to use WinGDB to develop and debug applications indirectly (with gdbserver) on desktop/server Linux machines.
Explains how to use WinGDB to develop and debug Windows applications using MinGW or Cygwin tools.
Explains how to use WinGDB to develop and debug embedded or mobile Linux applications.
Explains how to use WinGDB to develop and debug embedded "bare metal" devices using OpenOCD.
Projects reference
Explains how to use the New project wizard to create a new Visual Studio
project and configure it in simplified way.
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.
Explains how to configure existing Visual Studio projects for multiplatform development.
Shows how to use the Project configuration wizard.
Explains how to manange WinGDB settings in Visual C++ projects and solutions.
Describes how to configure your project to be able to use IntelliSense.
Describes how to create project configurations for multiplatform development.
Remote development
Describes methods of authentication supported by WinGDB.
Explains how to manage TCP connections established by WinGDB.
Explains how to connect to remote machines using integrated remote terminal.
Explains how to use the process console window.
Configuration reference
Summarizes settings for the debugger and explains their meaning.
Summarizes settings for the build and deploy actions and explains their meaning.
Explains how to map source directories between different locations/hosts.
Explains how to configure the makefile generator.
Describes global configuration options for WinGDB.
Contains an overview of WinGDB Automation API, a library allowing
to control WinGDB from external add-in or macro.
Debugging tasks
Explains how to attach to a process with WinGDB and start debugging.
Explains how to launch a X11 process on remote host with a connection to local X-server.
Explains how to examine a core dump on remote host.
Explains how to use complex data type visualizers (e.g. for STL containers).
Explains how to use specifiers to format values.
Explains how to debug multiple processes simultaneously.
Explains how to enter GDB commands directly and use GDB scripts.
Explains how to configure debugger to break execution when an exception is thrown or caught.
Explains how to configure WinGDB for Cygwin support.
Copyright (C) 2008-2013 WinGDB.com. All rights reserved.