GammaRay - Introspection/Debugging Tool for Qt Applications

Bart Cerneels bart.cerneels at kde.org
Wed Nov 2 10:10:17 GMT 2011


On Sun, Oct 30, 2011 at 13:21, Volker Krause <vkrause at kde.org> wrote:
> Hi!
>
> During the Qt Dev Days in Munich last week we (KDAB) released a new Free
> Software introspection/debugging tool for Qt applications, called GammaRay:
> https://github.com/KDAB/GammaRay
>
> It hooks itself into a Qt application (at start-up or at runtime) using a
> variety of methods (ranging from assembler hacks to (ab)using Qt plug-ins) and
> uses the Qt meta object system for introspecting object, properties, signals,
> slots, signal/slot connections, etc. Nothing really new until here, tools like
> Qt Inspector or KSpy can do this already. On top of that GammaRay adds a bunch
> of higher level tools though, for example:
>
> - QWidget layout overlay, similar to designer
> - Inspecting a QGraphicsScene and various details of QGraphicsItems
> (visualizing shapes, bounding rects, transformation origins, etc)
> - Looking at the full (proxy) model hierarchy and all intermediate results in
> there
> - a live updating QStateMachine visualization
> - attaching of QScriptEngineDebugger and QWebInspector to the corresponding
> objects in the application
> - a QTextDocument document object model viewer
>
> Additionally, GammaRay has a plug-in interface for adding new tools, say a
> KJob tracker.
>
> GammaRay works on Linux, Mac and Windows (MSVC only so far), it needs to be
> compiled against the same Qt version used by the application you are about to
> debug though. There's also a Qt Creator plug-in for it
> (https://github.com/KDAB/KDAB-Creator).
>
> Some screenshots can be found here: http://www.kdab.com/gammaray
>
> GammaRay was originally developed in support for the Kontact Touch project,
> back when there wasn't a QML debugger yet. The proxy model debugger also
> proved quite helpful on KMail, maybe it can help some of you as well :)
>
> Needless to say that contributions are very much welcome.
>
> regards
> Volker

I've asked this at the devdays but want to spread the idea amongst the
larger KDE comunity:
Can this tool, or it's technologies, be use to make inline translation
of a running application possible? Would greatly simplify the process
(and more fun!) and get better results since the string changes will
be immediately visible, preventing wrong context assumptions and to
long strings.

Bart




More information about the kde-core-devel mailing list