Tracing tools
Tracing is a technique that presents details of the execution of your program. If you are able to follow the path of execution, you will gain a better insight into how your program runs and interacts with its environment.
Also, you will be able to pinpoint locations where your program starts to deviate from its expected behavior.
The tracing tools on Linux® are strace and ltrace.
The command man strace displays a full set of available
options.
- strace
- The strace tool traces system
calls. You can either use it on a process that is already available,
or start it with a new process. strace records the system calls made
by a program and the signals received by a process. For each system
call, the name, arguments, and return value are used. strace allows
you to trace a program without requiring the source (no recompilation
is required). If you use strace with the -f option, it will
trace child processes that have been created as a result of a forked
system call. You can use strace to investigate plug-in problems or
to try to understand why programs do not start properly.
To use strace with a Java™ application, type
strace java <class-name>.You can direct the trace output from the strace tool to a file by using the
-ooption. - ltrace
- The ltrace tool is distribution-dependent.
It is very similar to strace. This tool intercepts and records the
dynamic library calls as called by the executing process. strace does
the same for the signals received by the executing process.
To use ltrace with a Java application, type
ltrace java <class-name>