1、修改历史调试插件

This commit is contained in:
xuhong 2023-07-20 11:10:10 +08:00
parent e5c2357392
commit 8bc6728fa5
4 changed files with 25 additions and 40 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 KiB

View File

@ -11,38 +11,30 @@
调试信息记录可以调试过程中随时启用,由于调试信息记录需要消耗一定时间,若关注某中断处堆栈信息,则需要等待记录完成,绿色记录状态表示记录完成,红色表示记录中,灰色表示未开启记录。若在记录状态为红色时进行下一步调试操作则堆栈信息可能记录不完全,复现调试时可能缺少相关信息,但不影响后续记录。
#### 多语言支持
历史调试可以支持多种语言调试目前有python、c、cpp、java、javscript。
历史调试可以支持多种语言调试目前有python、c++/c、java、javscript。
#### 导入导出
历史调试插件可以将调试过程记录到文件中,并可将调试记录文件导入,以查看调试时堆栈信息。
#### 查询
历史调试可以在查询页面对调试过程中的信息进行查询,可查询函数、参数、变量、行号。
#### 依赖
历史调试为记录及复现功能使用历史调试需要有正常的调试环境如调试c语言时需要已经安装gdb及c语言调试插件调试java时需要已经安装java调试环境及调试插件。
## 2、插件安装
### 2.1 通过插件筛选器,找到 historyDebug 插件
![图2-1](./resources/historyDebug/hd-link.png "插件筛选历史调试")
### 2.2 点击安装
![图2-2](./resources/historyDebug/hd-install.png "历史调试插件安装")
- 完成安装。
- 如果是版本切换或升级则需要重新加载主程序插件才生效,请根据提示操作完成安装。
![图2-3](./resources/historyDebug/hd-installed.png "历史调试插件已安装")
- 通过插件筛选器,找到 historyDebug 插件,点击安装
- 如果是版本切换或升级则需要重新加载主程序插件才生效,请根据提示进行操作
![图2-1](./resources/historyDebug/hd-install.gif "插件筛选历史调试")
## 3、历史调试
### 3.1 准备工作
* 确认 KylinIde 上安装了 Kylin Native Debug 和 historyDebug 插件gdb 已安装
* 历史调试可对多种语言进行调试以C++为例,确认 KylinIde(KylinCode) 上安装了 Kylin Native Debug 和 historyDebug 插件gdb 已安装
![图3-1](./resources/historyDebug/hd-c-ext.png "调试插件已安装")
![图3-2](./resources/historyDebug/hd-gdb.png "gdb已安装")
![图3-1](./resources/historyDebug/hd-c-ext.png "调试插件已安装")
![图3-2](./resources/historyDebug/hd-gdb.png "gdb已安装")
* 打开CPP-2048工程
* 修改CMakeList.txt文件根据平台添加 -g 参数
@ -50,21 +42,23 @@
![图3-3](./resources/historyDebug/hd-build-config-1.png "添加测试参数")
* 修改 .vscode 目录 tasks.json文件 添加 "build" 任务
![图3-4](./resources/historyDebug/hd-build-config-2.png "添加测试参数")
![图3-4](./resources/historyDebug/hd-build-config-2.png "build")
* 修改 .vscode 目录 launch.json文件 添加 "Debug" 调试配置
![图3-5](./resources/historyDebug/hd-build-config.png "添加测试参数")
![图3-5](./resources/historyDebug/hd-build-config.png "Debug")
* 生成可执行程序
![图3-6](./resources/historyDebug/hd-build-config.png "添加测试参数")
![图3-6](./resources/historyDebug/hd-build-config.png "exe")
### 3.1 历史调试
### 3.1 历史调试
1. 开始调试
![图3-8](./resources/historyDebug/hd-debug.gif "历史调试记录")
打开文档,添加相关断点后,点击活动栏“运行和调试”->“开始调试",程序在断点处中断执行,编辑栏上方出现调试导航栏,其中第一个图标为历史调试开关,第二个图标为历史调试状态,点击第一个图标,开始记录调试信息。
![图3-7](./resources/historyDebug/hd-debug-nav.png "添加测试参数")
2. 历史调试状态
调试导航栏第二个按钮表示历史调试状态,状态如下:
* 灰色-未开启历史调试记录
@ -72,31 +66,22 @@
* 红色-该中断处调试信息未记录完成
其中状态为红色时可继续点击继续按钮,不影响后续中断处调试信息记录,但该处调试信息未完成记录,进行历史调试时可能会有堆栈或变量信息不能正常显示。
3. 反向调试
![图3-8](./resources/historyDebug/hd-debug-1.png "历史调试记录")
![图3-9](./resources/historyDebug/hd-debug-2.png "历史调试")
3. 反向调试
点击活动栏“历史调试”按钮,点击侧边栏上方“最后一条”按钮,可以看到历史调试插件已记录了最新的调试信息,此时可以根据需要对之前的记录进行查看,相应操作为“第一条”、“上一条”、“下一条”,“最后一条”,查看操作不会中断调试过程。
![图3-10](./resources/historyDebug/hd-debug-3.png "历史调试")
可以看到上图所示,调试中断在 menu.cpp 文件第105行历史调试在102行处。此时可继续调试操作历史调试会继续记录最新调试堆栈信息。
4. 历史调试保存
历史调试保存可将调试信息保存为文件以便后续导入查看。历史调试保存可在历史调试记录过程中保存或在调试结束后开始新的调试前保存重新加载KylinIde或重新调试会丢失上次历史调试记录信息。历史调试过程中保存调试信息不影响后续调试及历史调试查看。
4. 历史调试查找
历史调试查找可以打开一个标签页面,按函数、参数、变量、行号对历史调试信息进行查找和展示。
![图3-11](./resources/historyDebug/hd-debug1.gif "历史调试保存")
5. 历史调试保存
历史调试保存可将调试信息保存为文件以便后续导入查看。历史调试保存可在历史调试记录过程中保存或在调试结束后开始新的调试前保存重新加载KylinIde(KylinCode)或重新调试会丢失上次历史调试记录信息。历史调试过程中保存调试信息不影响后续调试及历史调试查看。
![图3-11](./resources/historyDebug/hd-debug-save.png "历史调试保存")
5. 历史调试导入
6. 历史调试导入
历史调试导入可以导入之前保存的历史调试信息。点击侧边栏历史调试导航栏中“导入”按钮,选择之前保存的文件。
![图3-12](./resources/historyDebug/hd-debug-import.png "历史调试保存")
导入完成后即可以未启动调试情况下点击历史调试导航栏中“第一条”、“上一条”、“下一条”,“最后一条”查看之前调试过程及调试过程中堆栈信息。
![图3-13](./resources/historyDebug/hd-debug-hd.png "历史调试保存")
![图3-13](./resources/historyDebug/hd-debug-hd.png "历史调试保存")