Advanced C/C++ Debugging and Tracing
With the Helios release, a new debugger integration called DSF-GDB was made the default debugging solution for CDT. This solution makes use of the Debugger Services Framework (DSF) and the GNU Debugger (GDB). With the new advanced debug features of DSF-GDB, developers will find troubleshooting with printf very archaic. Developers can now use debug features like reversible debug, multi-process, multi-architecture, multi-operating system, core-awareness, dynamic tracepoint, non-stop, global breakpoint, remote target debugging.
Sometimes however debuggers are not appropriate e.g. many problems only show when the hardware and software are interacting under real load. In these cases, efficient trace collection and analysis are required to start addressing these issues. Linux Tracing Toolkit next gen. (LTTng) is a very efficient tracing technology that has been successfully used to troubleshoot intricate Linux problems under real load. Large parts of LTTng are already integrated in the Linux mainline. The LTTng tracing technology is now extended to user space tracing (UST) so that existing kernel analysis work can be leveraged for any application, even instruction level tracing. The Eclipse Linux Tools project contains the Eclipse Tracing and Monitoring Framework (TMF) for those needing to do trace analysis. TMF provides many views e.g. event, histogram, statistics, resource, time frame, etc. which can be used for LTTng type of traces and for other text log files.
This talk will describe the DSF-GDB and the TMF advanced features in order to understand how they can be used in Eclipse to enable productive troubleshooting of systems.
Dominique Toupin is a developer tool manager at Ericsson where he works on software engineering improvements with the open source community, researchers and commercial companies. He is the product manager for the Ericsson improvements on DSF-GDB. Areas include debug, trace, edit/compile/build, static analysis, profiling. He previously developed systems to manage cellular network and was a software developer in research groups. He holds a bachelor and a master\'s degree in Software engineering.