Debugging Code Using ptrace

“Nobody can write perfect code, since errors can creep in from anywhere. Hence we need some way to debug the programs. One such way is to use ptrace() system call. Debugging programs like gdb are dependent on this system call. This call gives one process control over another process. The process under control can be run step-by-step and its contents can be read and modified, i.e. you can change the core image of it.”