gdb and gdb/mi are essentially the same, except that gdb/mi lets you
select the MI protocol version and command set to use (MI - or Machine
Interface - is how Eclipse communicates with gdb, rather than using
the normal gdb command-line interface). This is useful if you want to
do something not supported by the defaults, or have a non-standard
gdb, such as used on Mac OS X. gdbserver is a very lightweight debug
server used for debugging embedded systems. The normal gdb/mi commands
are used, but gdb must be told to connect to a gdbserver running on a
remote system. There's an extra tab for specifying this information.