David Mohar (2016) Tracing programs in the Linux operating system. EngD thesis.
Abstract
In this thesis we demonstrate how to use the technique of tracing not only for debugging purposes, but also as an extra tool during testing. The first part contains the theoretical background about software testing and system calls inside the Linux operating system. A special system call ptrace is described in detail because it can intercept all of application's system calls. The practical part mainly focuses on tracing and its application in software testing. We will take a look at how to access the processor's registers and how to start tracing as efficiently as possible. The main goal of the practical part is to demonstrate how we can use our newly-gained knowledge to acquire some incredibly valuable information about our program's execution. We will try to build a tree of processes it creates, intercept open files and all sent and received signals. The main result of this thesis is a program that contains all of the presented functionalities.
Actions (login required)