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. Linux系统命令及文件的浏览、管理和维护

    在linux中什么是一个文件的路径呢,说白了就是这个文件存在的地方,例如在上一章提到的/root/.ssh/authorized_keys 这就是一个文件的路径.如果你告诉系统这个文件的路径,那么系统 ...

  2. Lazarus 日志工具 MultiLog

    MultiLog是一种同时以灵活性和低开销为目标的日志系统.顾名思义,它可用于将日志实例到多个目标,如文本文件.可视控件或其他应用程序.添加新的日志目标使用两个方法就可以实现了,其中一个方法是可选的. ...

  3. POJ_2195_Going Home

    题意:用'H','m','.'作出矩阵,'H'代表房子,'m'代表人,人一次只能水平或者垂直移动到相邻的点,问所有人一共走的步数的最小值. 分析:明显的求二分图最大权匹配.KM算法求得的是最大权匹配, ...

  4. 使用cloudcompare进行对比轨迹及评价

    0.预备知识: 我的系统是Ubuntu 16.04. 在其他发行版中,可能需要先安装snap(如有必要,请参阅相应的文档).快照发布在3个频道:“稳定”,“测试版”和“边缘”.“稳定版”和“测试版”频 ...

  5. 数据库——DBUtils和连接池

    第一章 DBUtils如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC开发,本案例我们讲采用apache commons组件一个成员:DBUtils.DBUtils就是JDBC的简 ...

  6. LeetCode_18 4Sum

    Given an array nums of n integers and an integer target, are there elements a, b, c, and d in nums s ...

  7. Python selenium chrome打包exe后禁用控制台输出滚动日志

    Python selenium chrome打包exe后,在运行的过程中,如果遇到需要input()输入时,会发现被不断滚动刷新的日志把命令行输入快速顶掉了,通过查阅资料不断实践,发现以下方法有效: ...

  8. Python数据分析与展示(1)-数据分析之表示(2)-NumPy数据存取与函数

    NumPy数据存取与函数 数据的CSV文件存取 CSV文件 CSV(Comma-Separated Value,逗号分隔值) CSV是一种常见的文件格式,用来存储批量数据. 将数据写入CSV文件 np ...

  9. LA 3029 Subsequence

    LA 3029 A sequence of N positive integers (10 < N < 100 000), each of them less than or equal ...

  10. [bzoj2461][BeiJing2011][符环] (括号配对+记忆化搜索+高维dp)

    Description 在可以炼制魔力强大的法杖的同时,Magic Land 上的人们渐渐意识到,魔力强大并不一定能给人们带来好处——反而,由此产生的破坏性的高魔力释放,给整个大陆蒙上了恐怖的阴影.  ...