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.
By running your program through strace:
strace path/to/your/executable
e.g. strace ./myapp
Run strace [arguments to strace] your_program [arguments to your program]
. See man strace
or just strace
without arguments for the possible arguments.
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).
精彩评论