WinGDB has two ways to configure projects:
The wizard is recommended for beginners. For more advanced users, the Properties dialog will offer more capabilities.
The Project Configuration Wizard can be opened either automatically during the project creation, or explicitly by the user on existing Visual Studio project. In both cases, the wizard is exactly the same.
One the first page, you select tthe target platform. The platforms generally correspond to WinGDB target platforms described here, however there can be also special options for some specific variants of these platforms, like the Palm webOS which is a special case of embedded Linux system (the webOS platform is actually not supported anymore but left here for hobbyists).
The development scenario specifies which machines participate in the development and how they interact. The scenario is usually determined by your choice of the target platform, but not always. For some platforms there can be several alternative scenarios (notably for the Linux platform). The Project Wizard displays a conceptual diagram of involved machines and connections.
For remote Linux development, there are currently three scenarios supported:
Single machine serves as the debug and build host:
The build process and the debugger are being run on one Linux machine, but the actual program is being run on different machine under gdbserver control:
The build process is being run on one Linux machine, but the debugger is being run on different machine. There is no need for gdbserver. This mode has some limitations however -- the OS and GDB versions must match on both Linux machines.
On those pages you can specify basic connection information -- typically login credentials.
Example page for the Indirect Linux scenario:
Example page for the local Windows development scenario:
Example page for the embedded device development scenario:
Example page for the embedded system (with OS) development scenario:
Here you can specify the location of your toolchain, or path to the debugger.
Example page for the Native Linux scenario:
Example page for the Windows scenario:
In case of remote Linux/Unix development scenarios, we need to specify which local directories correspond to which remote directories, and whether they are visible through Samba sharing or WinGDB must do synchronization of the files over the network.
Samba sharing case:
Synchronized mapping case:
Unsynchronized mapping -- WinGDB will recognize error messages, but will not overwrite any files: