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