GammaRay - a tool to poke around in a Qt-application and also to manipulate the application to some extent

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
User avatar
Kunda1
Posts: 4755
Joined: Thu Jan 05, 2017 9:03 pm

GammaRay - a tool to poke around in a Qt-application and also to manipulate the application to some extent

Postby Kunda1 » Tue Jul 09, 2019 9:51 pm

GammaRay is a software introspection tool for Qt applications developed by KDAB. Leveraging the QObject introspection mechanism it allows you to observe and manipulate your application at runtime. This works both locally on your workstation and remotely on an embedded target.

Augmenting your instruction-level debugger, GammaRay allows you to work on a much higher level, with the same concepts as the frameworks you use. This is especially useful for the more complex Qt frameworks such as model/view, state machines or scene graphs.

Among other things GammaRay can:

Browse the QObject tree with live updates.
View and edit object properties.
View and invoke slots of a QObject, and monitor its signals.
List all QObject inbound and outbound signal/slot connections.
Provide a layout information overlay for QWidget and QtQuick2 applications.
Inspect all QPainter operations used to draw a specific widget.
Browse the QtQuick2 item tree and scenegraph.
Inspect shaders and geometry data of QtQuick2 items.
Plot object lifetime and emitted signals.
Browse the QAbstractProxyModel hierarchy and inspect intermediate results in a proxy model chain.
Visual live inspection of QStateMachines.
Browse the item tree of any QGraphicsView scene.
Show a live preview of QGraphicsView items, including showing their coordinate system, transformation origin, rotate/zoom/pan, etc.
Intercept translations and change them at runtime.
Inspect all building blocks of a QStyle.
Show all QTimers and their statistics (number of wakeups, wakeup time, ...)
Browse all QTextDocuments, along with the ability to edit them and view their internal structures.
Act as a complete java script debugger, attachable to any QScriptEngine (including the usually not accessible one used by QtQuick1 internally).
Perform HTML/CSS/DOM/JS introspection/editing/profiling on any QWebPage, thanks to QWebInspector.
Browse the QResource tree and its content.
Show all registered meta types.
Show all installed fonts.
Show all available codecs.
Website: https://www.kdab.com/gammaray
Github: https://github.com/KDAB/GammaRay
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
microelly2
Posts: 4319
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: GammaRay - a tool to poke around in a Qt-application and also to manipulate the application to some extent

Postby microelly2 » Thu Jul 11, 2019 7:19 am

looks interesting. I will test it with FreeCAd and Pyflow.