February 22-24, 2013
Hilton Los Angeles International Airport
Strace. Practical Application Troubleshooting, using the tool we all love to hate. Strace is a tool to trace (or view) System calls on a Linux System. A System call is a request by an application for resources that the Linux Kernel manages (Read/Writes of the physical bits on a Hard Disk, Allocation of Memory, etc.). Strace captures the System Calls of a given application and prints the output (to STDOUT or the log file of your choice). Analyzing the output can provider a user with valuable insight into the execution flow of a given application to troubleshoot errors.
Strace can also be used by Systems Engineers to provide Developers with detailed bug reports. Strace can be used by Developers to troubleshoot their applications of all types. Strace can be used by security experts to gain a deepre understanding of an application and potential attack points. Strace can be used by students to gain a deeper understanding of Linux System calls and how they provide a layer of abstraction.
Linux System Calls can be a complex topic, I will demonstrate using simple examples how to begin understanding how applications interact with the Linux kernel. There are many System calls that are incredibly easy to understand, we will begin with the simplest System Calls to build a foundation on which we can use to troubleshoot even some of the most complex issues on a Linux system.
If you have ever dealt with the following, this persentation will help to make your life easier; 1. An application that starts and immediately dies without writing to the log. 2. Needing to see why an application is consuming all CPU. 3. Needing to supply a detailed bug report to a bug track system. 4. Having the desire to see exactly what an application or script is doing on your Linux System.
Sit back and relax and we take a trip into the world of Strace. Although the waters appear to be rough initially, you will learn a few tricks to calm the rough seas and find the hidden treasure islands. I will share a map that will help new users avoid the rough spots and will provide seasoned experts with a life line to safety as they voyage into unknown seas.