Skip to content
GammaRay is a tool to poke around in a Qt-application and also to manipulate the application to some extent.
C++ CMake C QML Shell Emacs Lisp
Latest commit b25fa0b @vkrause vkrause Fix the Qt4 build.
Failed to load latest commit information.
3rdparty Add new headers to the install rules.
app Make Qt layout work on OSX.
client Add new headers to the install rules.
cmake Add new headers to the install rules.
common ObjectId: Add debug stream operator
compat update copyright year 2016
core Fix the Qt4 build.
docs Add support for ipv6.
inprocessui Handle multiple probes for Qt layout builds.
launcher Add new headers to the install rules.
plugins Restore compatibility with Qt <5.4
probe Add new headers to the install rules.
resources Handle multiple probes for Qt layout builds.
tests Match all kinds of release builds.
ui Add new headers to the install rules.
.emacs-dirvars For us XEmacs people
.gitignore Minor: These files come from kdiff3
.kateconfig Add .kateconfig file with indention settings.
.krazy .krazy - exclude the foreach checker, which is now better done by clazy
CHANGES Add 2.4.0 changelog.
CMakeLists.txt Merge remote-tracking branch 'origin/2.4'
GammaRay.appdata.xml GammaRay.appdata.xml - add new kudos section
GammaRay.desktop GammaRay.desktop - add keywords
GammaRayConfig.cmake.in Fix the install location fallback handling for external plugins.
Install.txt Update install instructions a bit.
LICENSE.GPL.txt update copyright year 2016
LICENSE.US.txt Update ReadMe's and License files for GPL and commercial variants.
LICENSE.txt update copyright year
ReadMe-commercial.txt update copyright year 2016
ReadMe.md Readme.md - make it a symlink to Readme.txt again
ReadMe.txt update copyright year
add_license_blurb.sh add_license_blurb.sh - update for commerical license
config-gammaray-version.h.cmake second half of rename commit - sorry for the early push :(
config-gammaray.h.cmake Add support for ipv6.
debian.changelog 2.4.0 Final
debian.control packaging file fixes
debian.rules merge from 1.2 branch
gammaray-qt4.dsc update the package config files for the Qt4 probe
gammaray-qt4.spec update the package config files for the Qt4 probe
gammaray-qt5.spec prep for 2.4.0 release candidate
gammaray.dsc 2.4.0 Final
gammaray.spec 2.4.0 Final

ReadMe.md

Logo

Introduction

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.

Contact

Get Involved

If you want to contribute, please check out: https://github.com/KDAB/GammaRay/wiki/Get-Involved

KDAB will happily accept external contributions, but substantial contributions will require a signed Copyright Assignment Agreement. Contact support@kdab.com for more information.

License

The GammaRay Software is (C) 2010-2016 Klarälvdalens Datakonsult AB (KDAB), and is available under the terms of the GPL version 2 (or any later version, at your option). See LICENSE.GPL.txt for license details.

Commercial use is also permitted as described in ReadMe-commercial.txt.

About KDAB

GammaRay is supported and maintained by Klarälvdalens Datakonsult AB (KDAB).

KDAB, the Qt experts, provide consulting and mentoring for developing Qt applications from scratch and in porting from all popular and legacy frameworks to Qt. We continue to help develop parts of Qt and are one of the major contributors to the Qt Project. We can give advanced or standard trainings anywhere around the globe.

If you would like to have a custom plugin for GammaRay to visualize, profile or debug your own specific components or applications, get in touch with us via http://www.kdab.com/contact. KDAB engineers have a lot of experience writing GammaRay plugins and can be contracted to help you get yours working and improve your development efficiency.

GammaRay and the GammaRay logo are trademarks of Klarälvdalens Datakonsult AB.

Something went wrong with that request. Please try again.