GammaRay is an open source debugging and profiling tool for Qt applications that has been developed by KDAB for the last few years. Traditional debugging techniques (using debuggers, breakpoints, watchpoints, printfs in the code…) are invaluable, but they have a limitation: in order to debug an issue you need to know the internals of the application and the libraries you're using. For Qt applications this means knowing the internals of Qt, following d-pointers around, access private structures and so on.
Enter GammaRay: GammaRay is a "high-level debugger", able to show the status of various Qt subsystems inside an application, with an easy to use interface (that does not require any knowledge of Qt internals). GammaRay can, amongst other things, show the properties of any QObject in the application, show the status of all state machines, inspect and debug layouting and stacking of both widgets and Qt Quick applications, analyze raster painting, show the 3D geometry in a Qt3D scene, and much more.
This talk introduces the audience to the basics of GammaRay usage, showing (in the time available) its general usage. I will then apply GammaRay to a few interesting cases, in order to show how GammaRay solves various practical problems. While having some previous knowledge of Qt APIs is desiderable, it's not necessary in order to understand the tool capabilities.