GammaRay - Qt-application inspection and manipulation tool.

gammaray [--pid <pid> | <application> <args> | --connect <host>[:<port>]

GammaRay inspects runtime internals of a Qt-application, such as:
Object tree, properties, signal/slots, widgets, models,
graphics views, javascript debugger, resources,
state machines, meta types, fonts, codecs, text documents

When run without any options, gammaray will present a list of running Qt-applications from which you can attach the selected injector. Else, you can attach to a running process by specifying its pid, or you can start a new Qt-application by specifying its name (and optional arguments).

Print help message and exit.
Print version information and exit.
Attach to running Qt application with the specified pid.
Set the specified injection type.

Supported injectors are:
preload (Linux, Mac OS)
gdb (Linux. requires gdb to be installed)
lldb (Linux. Mac OS, requires lldb to be installed)
windll (Windows)

Use the Gammaray 1.x in-process UI. This is not necessary in most cases, apart from using tools that do not work remotely.
This will only inject the GammaRay probe into a process, but not start the GammaRay UI. This is useful for example when doing remote debugging on embedded devices.
Specify on which network address the GammaRay server should listen, default is GAMMARAY_DEFAULT_ANY_TCP_URL (ie. tcp://, all of ipv4, use tcp://[::] for all ipv6). This can be used for example on Windows to avoid firewall warnings by setting the address to if you don't need remote access.
Disables the GammaRay server. This implies --inprocess as there is no other way to connect to the GammaRay probe in this case.
List all installed probes.
Explicitly specify which probe to use. You should use this if you have more than one probe installed (e.g. one for Qt4 and one for Qt5), until probe ABI auto-detection is implemented.
Connect to a target with an already injected GammaRay probe. Useful for example for remote debugging.
Run GammaRay self-tests, if an injector is specified only that specific one will be tested.

The exit code is 0 on success, and 1 otherwise.

% gammaray /path/to/qtfoo arg1 arg2
% gammaray --pid 1234
% gammaray --injector gdb --pid 1234

Exits with 0 under normal operation; otherwise, exists with a positive integer indicating a problem occurred while launching or attaching an injector.

Copyright (C) 2010-2023 Klaralvdalens Datakonsult AB, a KDAB Group company, <>

Licensees holding valid commercial KDAB GammaRay licenses may use this file in accordance with GammaRay Commercial License Agreement provided with the Software.

Contact if any conditions of this licensing are not clear to you.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

StackWalker code Copyright (c) 2005-2019, Jochen Kalmbach, All rights reserved.

lz4 fast LZ compression code Copyright (C) 2011-2020, Yann Collet, All rights reserved.

backward-cpp code Copyright 2013-2017 Google Inc. All rights reserved.

Allen Winter <>
Andreas Holzammer <>
Anton Kreuzkamp <>
BogDan Vatra <>
Dan Vratil <>
David Faure <>
Filipe Azevedo <>
Frank Osterfeld <>
James Turner <>
Jan Dalheimer <>
Kevin Funk <>
Laurent Montel <>
Mathias Hasselmann <>
Milian Wolff <>
Nicolas Arnaud-Cormos <>
Patrick Spendrin <>
Peter Kuemmel <>
Rafael Roquetto <>
Sergio Martins <>
Stephen Kelly <>
Thomas McGuire <>
Till Adam <>
Tobias Koenig <>
Volker Krause <>
2024-06-21 3.0.0