When you run a program under GDB, you must first generate
debugging information when you compile it.
You may start GDB with its arguments, if any, in an environment
of your choice. If you are doing native debugging, you may redirect
your program's input and output, debug an already running process, or
kill a child process.