Deep Tech

GammaRay – Taking a deep look into your Qt application


Berlin Room October 20, 2016 11:00 am - 11:55 am

Bookmark and Share

Volker Krause

GammaRay is a high-level introspection tool for Qt programs that enables you to visualize and manipulate application behavior at runtime. In this talk we will look at a number of real-world debugging and profiling problems and how the capabilities provided by GammaRay help you to analyze and solve those. When creating applications we strive to use higher-level frameworks in order to obtain results quickly and reduce development effort as well as long-term maintenance cost. This however provides a few challenges during debugging and profiling. With conventional instruction-level tools we need to have a reasonably deep understanding of the implementation of the frameworks, libraries and components we use, to interpret the results correctly. Tools with an understanding of the building blocks we use mitigate this problem. GammaRay is such a tool for Qt. After a brief introduction on how to use GammaRay for local and remote targets, we will look at a number of debugging and profiling examples covering a wide range of Qt features such as signals/slots, Qt Quick, widgets, state machines, model/view or Qt3D, and see how GammaRay can help in addressing these. All examples are based on real-world problems KDAB engineers encountered in their daily work, and aim at giving you an idea on how GammaRay can help with problems you might encounter in your own Qt application. If you have ever spent hours or even days wondering why one of your signal/slot connections seemed to have a mind of its own, why a Qt Quick button was accepting clicks only when it felt like it, or why your QML HMI was rendering a bit slowly on your embedded target device, this talk is for you.