From LQWiki
Strace is a common basic debugging tool. It displays system calls and abbreviated results of these when it is run with a program and its arguments as the argument to strace. For instance:
$ strace ls -l
will execute ls -l and print its system calls as it does so.
Strace also proves useful when an application is giving trouble such as "File not found" but fails to report which file cannot be found. Often, when one runs the application under strace, there will be an fopen() call which will return -1 [error]. Armed with this knowledge, the file in question can be located or created, allowing execution to continue as usual.
A very similar tool to strace is ltrace. For more information, see the Strace man page.

This page is available under a