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.
• Compilation: | Compiling for debugging | |
• Starting: | Starting your program | |
• Arguments: | Your program’s arguments | |
• Environment: | Your program’s environment | |
• Working Directory: | Your program’s working directory | |
• Input/Output: | Your program’s input and output | |
• Attach: | Debugging an already-running process | |
• Kill Process: | Killing the child process | |
• Inferiors and Programs: | Debugging multiple inferiors and programs | |
• Threads: | Debugging programs with multiple threads | |
• Forks: | Debugging forks | |
• Checkpoint/Restart: | Setting a bookmark to return to later |