Skip to content

Remote Debugging Status

Volker Krause edited this page Sep 4, 2013 · 60 revisions

Overview on the ongoing work to enable remote debugging with GammaRay.

Core

  • split the ToolFactory for core/ui so we can also split plugins
  • use ToolModel for the plugin info dialog, so we see the server state rather than the client one
  • remote selection model sometimes "oscillates" [DONE]
  • add deferred QHeaderView configuration also for sort order (lost on column count reset), and possibly other QHeaderView settings as well
  • compress dataChanged() signals in RemoteModel
  • QIcon serialization across processes does not work unless QRC file is available in both

Server

  • automatically pick a different port if the default one is already in use

Client

  • properly handle connection errors [DONE]

Launcher

  • add support for SSH remote launch
  • adjust launch and attach actions to use out-of-process mode by default

Tools

  • split core and ui parts
  • turn tools with QtWidget dependency into plugins (same for QtGui even?)

Action Inspector

Connections

  • core/ui split [DONE]
  • was using a proxy detacher optimization before, still needed considering the remote model (un)monitoring feature?

Fonts

  • font preview needs to be rendered on the server side
  • basic core/ui split [DONE]
  • triggers a crash on QCoreApplication [FIXED]

Graphics Scene

  • needs to be turned into a plugin [DONE]
  • basic core/ui split [DONE]
  • scene preview and overlays don't work remotely
  • initial scene selection fails
  • glitches in the scene model amplified by remoting

KJobs

  • core/ui split [DONE]
  • UI does not depend on KJob and thus could be built even if KJob is not available (e.g. with Qt5)

Locales

  • core/ui split [DONE]

Messages

  • core/ui split [DONE]
  • qFatal handler still depends on QtWidgets [DONE]

Meta Objects

  • core/ui split [DONE]
  • initial tree expansion still assumes immediately populated model

Meta Types

  • core/ui split [DONE]

Mimetypes

  • core/ui split [DONE]

Models

Objects

  • core/ui split [DONE]

Object Visualization

  • port me!

Resources

  • core/ui split [DONE]
  • first column doesn't show content remotely [DONE]
  • content preview is not yet working remotely (might need on-demand role loading in RemoteModel)
  • tree view and splitter setup fails due to lazy model population
  • triggers crash in Qt due to QFileIconProvider when used inside a QCoreApplication.

Script Engines

  • probably unportable, hide in out-of-process mode [DONE]

Selection Models

  • core/ui split [DONE]
  • selection content view does not work remotely yet [DONE]

Standard Paths

  • core/ui split [DONE]

State Machines

  • port me!

Style

  • needs to be turned into a plugin [DONE]
  • core/ui split [DONE]
  • performance issue: all rendered primitives seem to be transferred initially rather than on demand
  • some states are stuck on "loading..."
  • view properties (height, width, zoom) are not working remotely
  • icons are not properly transferred [DONE]
  • initial style selection fails
  • crashes when selecting a different style remotely before showing the style locally/in-probe

Text Codecs

  • core/ui split [DONE]
  • move into plugin [DONE]
  • selected codecs model resets on text change, causing annoying flickering when used remotely [DONE]

Text Documents

  • core/ui split [DONE]
  • content preview does not work remotely
  • block bounding boxes are not shown remotely

Timers

  • core/ui split [DONE]
  • periodic view update needs to be moved to the model

Web Inspector

  • port to built-in remote web inspector access

Widgets

  • needs to be turned into a plugin [DONE]
  • basic core/ui split [DONE]
  • "Save As" actions need to send data to the client, to be written into a file there
  • paint analyzer needs to be split in client and server part
  • widget preview does not yet work remotely [DONE]
  • initial selection happens too early for anything being present for selection
Clone this wiki locally