GammaRay是KDAB开发的Qt应用程序的软件内省工具。利用QObject内省机制,它允许您在运行时观察和操作应用程序。这既可以在工作站本地使用,也可以在嵌入式目标上远程使用。

通过扩充指令级调试器,GammaRay允许您使用与您使用的框架相同的概念进行更高级别的工作。这对于更复杂的Qt框架(例如模型/视图,状态机或场景图)尤其有用。

GammaRay可以:

  • 使用实时更新浏览QObject树。
  • 查看和编辑对象属性。
  • 查看并调用QObject的插槽,并监视其信号。
  • 列出所有QObject入站和出站信号/插槽连接。
  • 为QWidget和QtQuick2应用程序提供布局信息覆盖。
  • 检查用于绘制特定小部件的所有QPainter操作。
  • 浏览QtQuick2项目树和场景图。
  • 检查QtQuick2项目的着色器和几何数据。
  • 绘制对象寿命和发出的信号。
  • 浏览QAbstractProxyModel层次结构并检查代理模型链中的中间结果。
  • QStateMachines的视觉实时检查。
  • 浏览任何QGraphicsView场景的项目树。
  • 显示QGraphicsView项目的实时预览,包括显示其坐标系,转换原点,旋转/缩放/平移等。
  • 拦截翻译并在运行时更改它们。
  • 检查QStyle的所有构建块。
  • 显示所有QTimers及其统计数据(唤醒次数,唤醒时间......)
  • 浏览所有QTextDocuments,以及编辑它们并查看其内部结构的功能。
  • 充当完整的Java脚本调试器,可附加到任何QScriptEngine(包括QtQuick1内部通常无法访问的QScriptEngine)。
  • 感谢QWebInspector,在任何QWebPage上执行HTML / CSS / DOM / JS内省/编辑/分析。
  • 浏览QResource树及其内容。
  • 显示所有已注册的元类型。
  • 显示所有安装的字体。
  • 显示所有可用的编解码器。

GammaRay is a tool to poke around in a Qt-application and also to manipulate the application to some extent.
https://www.kdab.com/gammaray
https://github.com/KDAB/GammaRay

GammaRay观察Qt程序的运行状况的更多相关文章

  1. linux下Qt程序编译运行

    Qt程序编译运行很简单,利用Qt提供的qmake工具可以很好的进行编译,在命令行输入一下编译过程:qmake -project    //声称项目文件(*.pro)qmake              ...

  2. 4、树莓派的中文:安装ftp,安装gcc,安装qt,编译qt程序,运行qt界面程序

    本博文仅作本人操作过程的记录,留作备忘.自强不息 QQ1222698 1.安装FTP:sudo apt-get install vsftpd 2.配置FTP,修改,/etc/vsftpd.conf # ...

  3. 如何让Qt程序在运行时获取UAC权限

    在pro文件中加入以下语句: QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\' ...

  4. 远程监控 – 应用程序运行状况测量 CSF 博客

    在远程监控基础知识和故障排除中,我们探讨了 Windows Azure 平台提供的基础指标.信息源.工具和脚本,介绍了有关监控和应用程序运行状况的基本原则.我们演示了如何利用这些基本原则对在 Wind ...

  5. Linux下同时运行不同版本的qt程序

    因项目需要,可能有不同版本的qt程序要运行到同一台机器上,本次实验是qt4.8.5和qt5.3.1开发的程序同时运行在同一台机器上,此机器可以不按照qt的任何版本,当然,两个版本开发的qt与机器的位数 ...

  6. NanoPi arm架构下的程序 ./ 运行黑屏 Qt环境可运行

    首先之所以QtCreator环境下可直接运行,但是在终端下 ./ 则不能运行(黑屏但是不报错),判断肯定不是程序或者是库的问题.于是猜想是环境问题,即终端环境与QtCreator环境不同. 然后就查看 ...

  7. healthMonitoring与运行状况监视

    配置针对应用程序的运行状况监视的一个服务 配置节内容比以往的较为复杂,如下 <healthMonitoring Enabled="true|false" heartbeatI ...

  8. 命令行执行Qt程序

    原文网址 //helloworld.cpp #include <QApplication> #include <QPushButton> int main(int argc,c ...

  9. 在Linux下使用linuxdeployqt发布Qt程序

    一.简介 linuxdeployqt 是Linux下的qt打包工具,可以将应用程序使用的资源(如库,图形和插件)复制到二进制运行文件所在的文件夹中. 二.安装linuxdeployqt 去github ...

随机推荐

  1. jsp学习笔记 - 内置对象 application

    ---恢复内容开始--- 1.application一般用this.getServletContext()替代 2.appllication有一个非常有用的函数 getRealPath(),获取绝对路 ...

  2. 模块挂载、切换,uml模式、流程图模式

    模块挂载.切换,uml模式.流程图模式

  3. nginx_gzip压缩提升网站的传输速度

    gzip on; gzip_min_length 1k; gzip_buffers 16k; #gzip_http_version 1.0; gzip_comp_level ; gzip_types ...

  4. "ping: unknown host www.baidu.com"问题解决方式

    参考:https://blog.csdn.net/wbainngg123/article/details/51540535 在虚拟机VMware里选择桥接模式,并配置网络之后,发现ping ip地址可 ...

  5. Manacher算法(马拉车算法)浅谈

    什么是Manacher算法? 转载自百度百科 Manachar算法主要是处理字符串中关于回文串的问题的,它可以在 O(n) 的时间处理出以字符串中每一个字符为中心的回文串半径,由于将原字符串处理成两倍 ...

  6. Go:条件语句、循环语句

    一.条件语句 package main import ( "fmt" "io/ioutil" ) // if的条件不需要括号 func xx(i int) in ...

  7. python json、 pickle 、shelve 模块

    json 模块 用于序列化的模块 json,用于字符串 和 python数据类型间进行转换 Json模块提供了四个功能:dumps.dump.loads.load #!/usr/bin/env pyt ...

  8. Python随笔day03

    温故知新: 注释: 单行注释   # 多行注释   ‘’’ ‘’’  或者  “””  “”” 注意:三个单引号或双引号可以用于表示多行字符串. 判断输入的字符串是否是数字 salary = inpu ...

  9. RabbitMQ-rabbitMq各个特性的使用(三)

    准备 1.引入客户端和配置文件依赖类 <dependency> <groupId>com.rabbitmq</groupId> <artifactId> ...

  10. 消息传递(cogs 1001)

    问题描述WZland开办了一个俱乐部(这里面可以干任何的事情),这引来了许多的人来加入.俱乐部的人数越来越多,关系也越来越复杂……俱乐部的人来自各个地方,为了增加友谊,俱乐部举行了一次晚会.晚会上又进 ...