GammaRay
A Software Introspection Tool for Qt Applications
Discover the benefits of GammaRay, a software introspection tool for Qt applications developed by KDAB. This tool allows you to examine and manipulate the internals of Qt applications at runtime, augmenting conventional debuggers by understanding the implementation of Qt. This allows it to visualize application behavior on a higher level, especially where complex frameworks like scene graphs, model/view or state machines are involved. Find GammaRay on GitHub.
About GammaRay
Whether locally on your workstation or remotely on an embedded target, GammaRay exploits the QObject introspection mechanism, allowing you to observe and manipulate your application at runtime from where you choose. It augments your instruction-level debugger, letting you work on a much higher level, but with the same concepts as the frameworks you regularly use. This capability is especially useful for the more complex Qt frameworks such as model/view, state machines or scene graphs.
GammaRay addresses the challenges of analyzing bugs in your application by providing high level, domain-specific debugging aids. It provides easy ways of navigating through the complex internal structures you find in some Qt frameworks, such as the Qt Quick scene graphs, model/view, QTextDocument or state machines.
With GammaRay, not only can you inspect object properties, you can also change them in running code in real time, whether you’re using Qt Quick, Qt Widgets or QGraphicsView. Unlike the debugger, it understands the internal structures and can present them in a meaningful way.
GammaRay is available for all major platforms. Use it to inspect your application right from the start or attach it to one that is already running.
Why GammaRay?
GammaRay is a valuable addition to any Qt developer's toolbox. It provides a range of features, including browsing of object properties, signals, slots and connections, in-line displaying of widget boundaries and layouts. However, its real strength comes into play when looking at some of the more complex frameworks provided by Qt.
For instance, when working with highly visual frameworks, such as Qt Quick, GammaRay provides an overview by allowing you to browse the Qt Quick item tree. It also provides a view on the internal Qt Quick scene graph, which is especially useful when working on custom items. A visualization of item geometry and access to shader code is included too.
GammaRay also excels when it comes to state machine analysis. It enables you to visualize a QStateMachine and displays its current state in real-time. It’s also capable of tracing all transitions of the state machine, supporting you in analyzing misbehavior.
There over 20 different tools shipped with GammaRay; the source code is available and can be extended by customised plug-ins. Contact us for tailored support options.
Get started with GammaRay
To help you get started with GammaRay you can find useful tutorials on our video channel.
Get GammaRay
GammaRay is available under a GPL licence and can be downloaded from GitHub.
GammaRay User Manual
For more detailed information and instructions, check out the GammaRay User Manual.
Get in touch
f you have any questions about GammaRay or would like to talk about a project, we look forward to hearing from you.
Contact us