Tracing syscalls using Strace
syscalls? huh? what is that? Well the man page of syscall says that “The system call is the fundamental interface between an application and the Linux kernel.” Also “System calls are generally not invoked directly, but rather via wrapper functions in glibc (or perhaps some other library)”. For an user level application to interact with the kernel, syscalls are required. But what is that wrapper function in glibc? Lets understand this using an example.