The strace command is a powerful tool that shows all of the system calls issued by a user-space program. Strace displays the arguments to the calls and returns values in symbolic form. Strace receives information from the kernel and does not require the kernel to be built in any special way. The trace information can be useful to both application and kernel developers.
strace is similar to "truss" utility in other Unix systems. This is made possible by a Linux kernel feature known as ptrace. you will find more information about the
strace at linux commands section of this website.
you can download stace utility from
here .
In many cases, a program may fail because it is unable to open a file or because of insufficient memory. And tracing the output of the program will clearly show the cause of either problem. more about this problem is discussed
here.