## 19 Specifying a Debugging Target

A target is the execution environment occupied by your program.

Often, gdb runs in the same host environment as your program; in that case, the debugging target is specified as a side effect when you use the `file` or `core` commands. When you need more flexibility—for example, running gdb on a physically separate host, or controlling a standalone system over a serial port or a realtime system over a TCP/IP connection—you can use the `target` command to specify one of the target types configured for gdb (see Commands for Managing Targets).

It is possible to build gdb for several different target architectures. When gdb is built like that, you can choose one of the available architectures with the `set architecture` command.

`set architecture` arch
  This command sets the current target architecture to arch. The value of arch can be `"auto"`, in addition to one of the supported architectures.
`show architecture`
  Show the current target architecture.
`set processor`
`processor`
  These are alias commands for, respectively, `set architecture` and `show architecture`.