17th International Conference on Managed Programming Languages and Runtimes
Sprache des Tagungstitel:
Debuggers are traditionally used to investigate and observe the dynamic behavior of software. Reverse debuggers record a program execution and provide a method to step through the program forward and backward, to quickly locate the operation of interest. However, recording based approaches usually assume a specific method of recording the program execution. Furthermore, the recording and analysis is often linked in a certain way, so that it is not trivial, to quickly add support for new architectures or other recording tools.
To solve these shortcomings, we defined a set of essential event types, to fully capture a program execution in a platform-independent way. A prototype of the interactive trace analysis software was implemented in Java, which can handle recorded execution traces with 65 million instructions, when using a Java heap size of 16GiB for the analysis tool. To validate the platform-independence, 3 fundamentally different architectures were tested: AMD64, PowerPC, and PDP-11.