gdb调试前端工具--ddd使用说明

adtxl
2023-06-26 / 0 评论 / 392 阅读 / 正在检测是否收录...

1. 简介

DDD全称Data Display Debugger,它是gdb的最优图形化前端,它继承了gdb的所有功能,它还加入了数据结构可视化能力,什么一维二维栈数组,二叉三叉N叉树,DDD统统都能用图形显示出来。

2. 安装

本文使用ubuntu18平台为例,
直接apt 安装
sudo apt install ddd

然后运行,效果如下
imageabe31cc1805784c9.png

3. 使用

作为图形化软件,使用逻辑与绝大部分软件逻辑相同,下面对其做个简单介绍,主要还是介绍如何使用ddd来运行抓取的ke数据。详细的使用可以多在实践中探索。

1.使用ddd加载ke文件

如下所示,–debugger指定了所使用的gdb,一般使用aosp源码中自带的即可。init.gdb文件为ke脚本解析出来的文件。
image.png

2.ddd窗口介绍

在运行上面的命令行,ddd的打开界面如下所示。会根据ke信息在源码窗口打开对应保存时src的位置。

也可以在下方的gdb命令行窗口直接输入命令调试。

image7f7eeb71c01e7d8b.png

3.show data

在调试ke问题时,因为是离线调试,是无法run的,主要以查看信息为主。下面简单介绍下data目录中的一些功能。

由于截图软件的问题,无法在Data菜单打开时截图,下面只能展示一些常用的功能。

如下所示,是展示函数中的Args和一些本地变量

image21e56e09a53b0162.png

查看memory信息,如下所示,可以查看某个地址范围中的信息

image474ee437493069ca.png

4.show backtrace

也就是bt命令,因为是图形化界面,可以点击backtrace窗口中的不同frame。可以结合show data信息。在点击不同的frame信息是,data中的信息也会随之变化。

image8aed703201c20cd0.png

如下是显示寄存器信息。可以结合backtrace使用,查看不同frame下的寄存器信息

image417322dcdbf4d0c0.png

4.问题记录

1.ddd打开时hang主,状态栏提示opening session xxxx
解决方案:参考ddd-hangs-on-start,删除本地的.ddd目录

rm -rf ~/.ddd/

2.打开时提示一些字体warning

解决方案:参考ddd 启动警告解决
安装了下面的包之后,重启后ddd的字体看起来更大了,看着舒服点

sudo apt-get install xfonts-100dpi
0

评论 (0)

取消