gammaray - Qt-application inspection and manipulation tool.

NAME  SYNOPSIS  DESCRIPTION  OPTIONS  EXAMPLES  EXIT STATUS  COPYRIGHT  AUTHORS 

NAME

GammaRay − Qt−application inspection and manipulation tool.

SYNOPSIS

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

DESCRIPTION

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).

OPTIONS

−−help

Print help message and exit.

−−version

Print version information and exit.

−p, −−pid <pid>

Attach to running Qt application with the specified pid.

−i, −−injector <injector>

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)
style
windll (Windows)

−−inprocess

Use the Gammaray 1.x in-process UI. This is not necessary in most cases, apart from using tools that do not work remotely.

−−inject−only

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.

−−listen <address>

Specify on which network address the GammaRay server should listen, default is GAMMARAY_DEFAULT_ANY_TCP_URL (ie. tcp://0.0.0.0, 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 127.0.0.1 if you don’t need remote access.

−−no−listen

Disables the GammaRay server. This implies −−inprocess as there is no other way to connect to the GammaRay probe in this case.

−−list−probes

List all installed probes.

−−probe <abi>

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 <host[:port]>

Connect to a target with an already injected GammaRay probe. Useful for example for remote debugging.

−−self−test [injector]

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.

EXAMPLES

Run gammaray on the Qt-application "qtfoo" with command line arguments
’arg1’ and ’arg2’:

% gammaray /path/to/qtfoo arg1 arg2

Invoke gammaray on the Qt-application running with pid 1234:

% gammaray −−pid 1234

Invoke gammaray on with injector gdb on Qt-application running with pid
1234:

% gammaray −−injector gdb −−pid 1234

EXIT STATUS

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

COPYRIGHT

Copyright (C) 2010−2023 Klaralvdalens Datakonsult AB, a KDAB Group company, <[email protected]>

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

Contact [email protected] 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.

AUTHORS

Allen Winter <[email protected]>
Andreas Holzammer <[email protected]>
Anton Kreuzkamp <[email protected]>
BogDan Vatra <[email protected]>
Dan Vratil <[email protected]>
David Faure <[email protected]>
Filipe Azevedo <[email protected]>
Frank Osterfeld <[email protected]>
James Turner <[email protected]>
Jan Dalheimer <[email protected]>
Kevin Funk <[email protected]>
Laurent Montel <[email protected]>
Mathias Hasselmann <[email protected]>
Milian Wolff <[email protected]>
Nicolas Arnaud−Cormos <nicolas.arnaud−[email protected]>
Patrick Spendrin <[email protected]>
Peter Kuemmel <[email protected]>
Rafael Roquetto <[email protected]>
Sergio Martins <[email protected]>
Stephen Kelly <[email protected]>
Thomas McGuire <[email protected]>
Till Adam <[email protected]>
Tobias Koenig <[email protected]>
Volker Krause <[email protected]>


Updated 2024-01-29 - jenkler.se | uex.se