gdb (GNU Debugger) is a software debugger. It can be used to diagnose software runtime errors, such as segmentation faults, or other errors that are not easily detectable or diagnosable at runtime. It can perform typical debugger functions such as breakpoints, watching, stepping, and so on.
These all relate to running commands in an altered context.
- chroot - Confine the program to "jail".
- env - Change variables.
- nice - Change priority.
- nohup - Protect from hangups (modem) or network outages.
- stdbuf - Change buffering of standard I/O filestreams.
- su - Change user
- timeout - Limit the time.
- script - Capture all program output
- valgrind - Validate program behavior
- strace - Create a log of system calls.