GammaRay(1) 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)
     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 0.0.0.0 (ie. all of them). 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.

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-2015 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-2009, Jochen Kalmbach, All rights reserved.

AUTHORS

 Allen Winter <[email protected]>
 Andreas Holzammer <[email protected]>
 Anton Kreuzkamp <[email protected]>
 David Faure <[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]>
 Patrick Spendrin <[email protected]>
 Peter Kuemmel <[email protected]>
 Rafael Roquetto <[email protected]>
 Stephen Kelly <[email protected]>
 Thomas McGuire <[email protected]>
 Till Adam <[email protected]>
 Tobias Koenig <[email protected]>
 Volker Krause <[email protected]>