SylixOS Crash 分析工具插件

本文详细介绍了如何在VSCode的SylixOS插件中使用SylixOSCrash分析工具,包括工作原理、自动/手动添加可执行文件、设置运行基地址、crash地址分析及清空功能。重点讲解了如何处理架构获取失败和可执行文件的要求,以帮助开发者高效诊断和解决crash问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

SylixOS Crash 分析工具 是 vscode 下 SylixOS 开发插件中提供的工具集中的一个小工具。它可以协助开发者去分析可执行文件产生 crash 行为的原因。

工作原理

SylixOS Crash 分析工具 借助 SylixOS 编译器中的 addr2line 命令行对地址进行分析。因此,此工具最终工作原理即调用 addr2line 对可执行文件执行类似下述命令:

xxxx-addr2line.exe -f -e xxx.ko -a 0x1000

使用方法

SylixOS Crash 分析工具 在安装激活了 SylixOS 插件后,就可以正常工作,其操作界面位于 vscode “资源管理器”下,如果所示:
image.png

添加待分析的可执行文件

当可执行文件执行时,发生了崩溃行为,可以采用如下两种方式将可执行文件添加到 SylixOS Crash 分析工具 中:

自动添加:

如果可执行文件就在当前的 vscode workspace 下,那么可以直接右击可执行文件,选择“SylixOS 可执行文件分析”,如下所示:
image.png

手动添加:

如果可执行文件没有办法直接在 vsocde 的 workspace 下添加,则可以通过 SylixOS Crash 分析工具 右边的“添加文件”按钮,手动添加,如下所示:
image.png

注意:

  1. 架构获取失败:

如果 SylixOS Crash 分析工具 添加可执行文件时,会去自动分析当前可执行文件应该选择哪种架构的 addr2line 工具去执行。如果 SylixOS Crash 分析工具 获取架构信息失败时,会弹出如下界面,此时需要用户手动选择对应的架构信息:
image.png

  1. 可执行文件要求:

添加的 SylixOS 可执行文件不应该选择“strip”目录下的可执行文件,否则会导致无法正确分析地址。

添加成功后,SylixOS Crash 分析工具 中会显示添加成功的可执行文件,如下所示:
image.png

设置运行基地址

在可执行文件添加完成后,默认运行基地址是没有设置的,此时,可以添加对应可执行文件后边的“基地址”进行设置,如下所示:
image.png

注意:

  1. 运行基地址的获取,参考 SylixOS 相关命令和用法,这里提供一些参考:
    • 一般 BSP elf 文件:运行基地址一般设置为:0x0;
    • 一般内核模块的 ko 文件:通过“lsmod”命令可以查看运行基地址;
    • 一般的应用库或者 APP 可执行文件:可以先通过“VPROC_MODULE_SHOW=1”设置 SylixOS 的环境变量,然后再运行可执行文件,进而获取到基地址。
  2. 运行基地址设置时,应该是 16 进制的,“0x”包不包含均可,即设置“1000” 和 “0x1000”效果一致;
  3. 运行基地址是可以重复更新的,如果运行基地址发生变化,则按照上述方式重新设置即可。

设置成功后,会在对应的文件右边显示出当前的基地址设置的值,如下所示:
image.png

crash 地址分析

完成上述两步设置后,就可以对需要分析的 crash 地址进行分析,分析的方法很简单:在对应的可执行文件右侧点击“分析”按钮,然后输入 crash 地址,如下所示:
image.png

分析成功后,会在对应的文件下显示出分析的内容:
image.png
其中分析结果格式从左到右分别是:

[crash 地址] crash 函数:crash 代码的行数

同时,当鼠标停留在上面时,会显示对应的文件位置。点击此结果时,会自动打开出错文件,并跳转到出错行附近。

注意:

  1. 分析的地址应该是 16 进制地址,包不包含“0x”均可;
  2. 如果分析失败时,不会在左侧列出分析结果,而是直接将 addr2line 的信息在 vscode 的右侧展示出来,如下:

image.png

清空分析文件

当需要清空当前所有的分析文件时,可以点击 SylixOS Crash 分析工具 右侧的“清空”按钮:
image.png

其他

当前工具已经支持 crash 分析信息记录功能。用户使用工具分析的所有结果都会同步保存在 workspace 的存储空间中,当 vscode 下次打开时,仍然可以看到之前的分析结果 😃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值