--nextPart8172934.ymYFmPsSxr Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" On Monday 31 October 2011 22:36:08 Peter =?ISO-8859-1?Q?K=FCmmel?= wrote: > On 30.10.2011 13:21, Volker Krause wrote: > > Hi! > > > > During the Qt Dev Days in Munich last week we (KDAB) released a new Free > > Software introspection/debugging tool for Qt applications, called > > GammaRay: > > https://github.com/KDAB/GammaRay > > > > It hooks itself into a Qt application (at start-up or at runtime) using a > > variety of methods (ranging from assembler hacks to (ab)using Qt plug-ins) > > and uses the Qt meta object system for introspecting object, properties, > > signals, slots, signal/slot connections, etc. Nothing really new until > > here, tools like Qt Inspector or KSpy can do this already. On top of that > > GammaRay adds a bunch of higher level tools though, for example: > > > > - QWidget layout overlay, similar to designer > > - Inspecting a QGraphicsScene and various details of QGraphicsItems > > (visualizing shapes, bounding rects, transformation origins, etc) > > - Looking at the full (proxy) model hierarchy and all intermediate results > > in there > > - a live updating QStateMachine visualization > > - attaching of QScriptEngineDebugger and QWebInspector to the > > corresponding > > objects in the application > > - a QTextDocument document object model viewer > > > > Additionally, GammaRay has a plug-in interface for adding new tools, say a > > KJob tracker. > > > > GammaRay works on Linux, Mac and Windows (MSVC only so far), it needs to > > be > > compiled against the same Qt version used by the application you are about > > to debug though. There's also a Qt Creator plug-in for it > > (https://github.com/KDAB/KDAB-Creator). > > > > Some screenshots can be found here: http://www.kdab.com/gammaray > > > > GammaRay was originally developed in support for the Kontact Touch > > project, > > back when there wasn't a QML debugger yet. The proxy model debugger also > > proved quite helpful on KMail, maybe it can help some of you as well :) > > > > Needless to say that contributions are very much welcome. > > > > regards > > Volker > > Congratulation for this very nice tool! > > I've also tried to attach to console apps without success. > Then I realized that you use the hijacked process to show > the GammaRay mainwindow which is not possible in a > QCoreApplication executable. True, this won't work... > So I wonder how difficult it would be to run GammaRay in a > different process? Then an IPC mechanism is needed for all > the information. Would this be fast enough? Do you plan > to add this in future? We thought about it but at least DBUS will be too slow I'd say. Furthermore I doubt it's easy or even possible to get all the features of gammaray working out-of-process... > Is there a single point where all the information of > the target process goes through or is it all over the place? > I assume at least each plugin pulls information by itself. See probe.cpp - that is the "core". The plugins essentially just use data from one of the models, e.g. ObjectTreeModel, ObjectListModel and ConnectionModel. > And how much does the current code depend on x86/64? > Would it be hard to support PPC? At least the GDB and Style injectors should be portable already. The others, esp. WinDLL , are probably architecture specific. The preload code for Mac does not seem to be architecture specific though - at least to my quick glance. Have you tried it out with PPC? Maybe it works already. At least the style/gdb injectors as I said above should work. -- Milian Wolff mail@milianw.de http://milianw.de --nextPart8172934.ymYFmPsSxr Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iEUEABECAAYFAk6vH48ACgkQDA6yEs0dE5MU2wCVELx1cvlEm9jao194O9CaWLqD BgCeIsEJP8dT4FNxQ2mZ0FKRKdGWRGs= =EjjW -----END PGP SIGNATURE----- --nextPart8172934.ymYFmPsSxr--