Unfortunately, we do not live in an ideal world -- at least, not all the time. Sometimes when an application encounters an error, you are none the
This is where debugging tools come in. One tool I cannot live without is called strace which is a system call tracer. You can trace calls made by a
program that is already running (bind strace to an existing PID) or you can tell strace to start a process to examine.
Let me demonstrate the use of strace with a few real world examples.