Seer - Linux 上 gdb 的 gui 前端。 (厄尼·帕斯维尔 [email protected])
该项目正在积极开展中。目标是为 gdb 提供一个简单但令人愉悦的 gui。
请向我的电子邮件报告任何错误或所需的功能,或在我的 GitHub 项目页面中创建任务。
Seer 可以从包管理器或源安装。
笔记
安装前请确保满足要求。
Linux
C++17
带有“mi”解释器的 gdb(通过运行检查: gdb --interpreter=mi
)
CMake(3.1.0 或更高版本)
QT6
QT5
可通过以下包管理器获得:
pamac install seer
zypper install seergdb
(推荐)Seer 可以按照以下说明使用 Qt6 构建。
https://github.com/epasveer/seer/wiki/Building-Seer---Qt6
暂时仍然可以使用 Qt5 构建,按照以下说明进行操作。
https://github.com/epasveer/seer/wiki/Building-Seer---Qt5
查看 github 上的 Seer Wiki 页面。
各种 Seer 视图和对话框的示例。
Seer 的主视图如下所示:
源/函数/类型/变量/库
变量/寄存器信息
代码管理器。
断点、观察点、捕获点、打印点、手动 gdb 命令和日志。
堆栈帧信息。
线程信息。
支持Gdb的反向调试模式。
当调用打开的可执行对话框时,它看起来像这样:
可执行文件的所有文本输出都将发送到 Seer 控制台。可执行文件的文本输入也可以通过控制台输入。
通常,Seer 只会在代码管理器中将源代码显示为选项卡。程序的程序集也可以显示为选项卡。
选择“视图->程序集视图”,源代码选项卡旁边将显示一个额外的选项卡,显示当前正在执行的程序集。这是一个例子。
与源代码选项卡一样,可以在汇编选项卡中设置断点。当前指令突出显示。
双击“断点”选项卡和“堆栈帧”选项卡中的条目将显示这些地址的程序集。
有“Nexti”和“Stepi”热键,由您的配置设置定义。通常为“Ctrl+F5”和“CTRL+F6”。在程序集选项卡中使用“^F”将显示强大的搜索栏。
Seer 中的装配功能是新的。请随意提出更改/功能建议。
在内存可视化工具中查看原始内存的内容时,它看起来像这样:
记忆 | 拆卸 |
---|---|
在数组可视化工具中查看数组的内容时,它看起来像这样:
普通的 | 样条线 | 分散 |
---|---|---|
两个数组可用作 XY 图。例如,这个简单的“点”数组形成了形状的 XY 轮廓。
int main() {
int points[] = {50,1,20,91,97,35,2,35,79,91,50,1};
return 0;
}
X 值 | Y 值 | XY 值 |
---|---|---|
在结构可视化工具中查看 C/C++ 结构或 C++ 类的内容时,它看起来像这样。此示例显示了 Seer 所在的当前 C++ 类的“*this”的内容。所有基本类型的结构体成员都可以编辑。
还有一个Basic Struct Visualizer ,重量更轻,但不能跟随指针,也不能编辑。
当查看作为图像的原始内存的内容时,可以使用图像可视化工具。
Seer 旨在轻松地从命令行启动程序进行调试。 gdb 有多种调试程序的方法。所以Seer自然也是如此。
前往 Wiki 查看运行 Seer 的所有方法。
https://github.com/epasveer/seer/wiki/Starting-Seer
有关任何错误或功能,请发送电子邮件至 [email protected]。或者在我的 GitHub 项目页面中创建一个任务。