There are various ways to trace execution of programs written in various languages:
Tracing type |
Tool |
Command-line |
ELF (syscalls) |
strace program args |
|
ELF (functions) |
ltrace program args |
|
ELF (functions) |
latrace program args |
|
getenv(3) calls |
export LD_PRELOAD="libgetenvy.so" ; GETENVY=1 program args |
|
Shell |
all shells |
sh -x /usr/bin/program args |
Perl |
perl -d:Trace /usr/bin/program args |
|
Ruby |
rbtrace --exec /usr/bin/program args |
|
Python |
python3 -m trace --trace /usr/bin/program args |