I'd like to know how to use strace to trace system calls in my C program and how to use it for debugging my code.
Asked
Active
Viewed 7,681 times
3 Answers
8
By running your program through strace:
strace path/to/your/executable
e.g. strace ./myapp

ThiefMaster
- 310,957
- 84
- 592
- 636
4
Run strace [arguments to strace] your_program [arguments to your program]
. See man strace
or just strace
without arguments for the possible arguments.

Arkku
- 41,011
- 10
- 62
- 84
0
Strace is great to see system calls. Once you understand how it works, be sure to check out ltrace as well, which shows calls to dynamically linked libraries.
Together, they give you a very good understanding of what any given program is doing (unless statically linked, of course).

Tim Post
- 33,371
- 15
- 110
- 174