extensions-repo/user-guide/files/历史调试.md

4.9 KiB
Raw Permalink Blame History

历史调试插件安装使用说明

1、插件说明

历史调试插件可在调试过程中记录中断时的堆栈信息,并可在调试过程中或结束后查看调试时的堆栈信息,用户可在调试过程中记录关心的调试信息以便在需要的时候回放调试信息。

特点

随时记录

调试信息记录可以调试过程中随时启用,由于调试信息记录需要消耗一定时间,若关注某中断处堆栈信息,则需要等待记录完成,绿色记录状态表示记录完成,红色表示记录中,灰色表示未开启记录。若在记录状态为红色时进行下一步调试操作则堆栈信息可能记录不完全,复现调试时可能缺少相关信息,但不影响后续记录。

多语言支持

历史调试可以支持多种语言调试目前有python、c++/c、java、javscript。

导入导出

历史调试插件可以将调试过程记录到文件中,并可将调试记录文件导入,以查看调试时堆栈信息。

查询

历史调试可以在查询页面对调试过程中的信息进行查询,可查询函数、参数、变量、行号。

依赖

历史调试为记录及复现功能使用历史调试需要有正常的调试环境如调试c语言时需要已经安装gdb及c语言调试插件调试java时需要已经安装java调试环境及调试插件。

2、插件安装

  • 通过插件筛选器,找到 historyDebug 插件,点击安装
  • 如果是版本切换或升级则需要重新加载主程序插件才生效,请根据提示进行操作

3、历史调试

3.1 准备工作

  • 历史调试可对多种语言进行调试需安装对应语言的调试插件和历史调试插件。以C++为例,确认 Kylin-IDE(KylinCode) 上安装了 Native Debug(fix some bugs) 和 historyDebug 插件调试器gdb已安装

  • 打开工程,修改调试配置

    • 修改CMakeList.txt文件根据平台添加 -g 参数

      图3-3

    • 修改 .vscode 目录 tasks.json文件 添加 "build" 任务

      图3-4

    • 修改 .vscode 目录 launch.json文件 添加 "Debug" 调试配置

      图3-5

    • 生成可执行程序

      图3-6

3.1 历史调试

  1. 开始调试
    图3-8
    打开文档,添加相关断点后,点击活动栏“运行和调试”->“开始调试",程序在断点处中断执行,编辑栏上方出现调试导航栏,其中第一个图标为历史调试开关,第二个图标为历史调试状态,点击第一个图标,开始记录调试信息。

  2. 历史调试状态
    调试导航栏第二个按钮表示历史调试状态,状态如下:

    • 灰色-未开启历史调试记录
    • 绿色-该中断处调试信息已记录完成
    • 红色-该中断处调试信息未记录完成 其中状态为红色时可继续点击继续按钮,不影响后续中断处调试信息记录,但该处调试信息未完成记录,进行历史调试时可能会有堆栈或变量信息不能正常显示。
  3. 调试回放
    点击活动栏“历史调试”按钮,点击侧边栏上方“最后一条”按钮,可以看到历史调试插件已记录了最新的调试信息,此时可以根据需要对之前的记录进行查看,相应操作为“第一条”、“上一条”、“下一条”,“最后一条”,查看操作不会中断调试过程。

  4. 历史调试查找
    历史调试查找可以打开一个标签页面,按函数、参数、变量、行号对历史调试信息进行查找和展示。 图3-11

  5. 历史调试保存
    历史调试保存可将调试信息保存为文件以便后续导入查看。历史调试保存可在历史调试记录过程中保存或在调试结束后开始新的调试前保存重新加载KylinIde(KylinCode)或重新调试会丢失上次历史调试记录信息。历史调试过程中保存调试信息不影响后续调试及历史调试查看。

    图3-11

  6. 历史调试导入
    历史调试导入可以导入之前保存的历史调试信息。点击侧边栏历史调试导航栏中“导入”按钮,选择之前保存的文件。

    图3-12

    导入完成后即可以未启动调试情况下点击历史调试导航栏中“第一条”、“上一条”、“下一条”,“最后一条”查看之前调试过程及调试过程中堆栈信息。

    图3-13