中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

字节对齐检查命令参考

字节对齐检查就是在需要考虑字节对齐时,检查源码中结构体类型变量的字节对齐情况。

命令功能

检查源码中结构体变量的字节对齐情况。

命令格式

devkit advisor addr-align [-h | --help] {-i INPUT_PATH | --input INPUT_PATH} {-c COMMAND | --cmd COMMAND} [-o OUTPUT_PATH | --output OUTPUT_PATH] [-r {all,json,html,csv} | --report-type {all,json,html,csv}] [-l {0,1,2,3} | --log-level {0,1,2,3}] [--set-timeout TIMEOUT]

参数说明

表1 参数说明

参数

参数选项

参数说明

-h/--help

-

获取帮助信息。

-i/--input

input_path

必选参数,待扫描的源码文件夹路径。

-c/--cmd

command

必选参数,源码构建命令。在服务器中正常执行的构建命令,若存在多个构建命令需使用英文分号分割并用英文双引号包住。命令中如有空格,也需要用英文双引号包住。

例如:"mkdir build;cd build;cmake ..;make"。

说明:

命令行工具源码构建命令不支持设置变量和export环境变量。

例如:"CFLAGS='-O0 -g';make"或"export CFLAGS='-O0 -g';make"。

-o/--output

output_path

扫描报告的存放路径,默认存放在当前执行路径下,报告名称为模块名称_时间戳。

--set-timeout

time

任务超时时间,单位为分钟,若执行时间超过超时时间则退出执行。默认无超时时间,任务将持续执行直到结束。

-l/--log-level

0/1/2/3

设置日志级别,默认为1。
  • 0:日志级别为DEBUG。
  • 1:日志级别为INFO。
  • 2:日志级别为WARNING。
  • 3:日志级别为ERROR。

-r/--report-type

all/json/html/csv

扫描报告的格式,默认为all。
  • all:生成JSON、HTML、CSV三种格式报告。
  • json:生成JSON格式报告。
  • html:生成HTML格式报告。
  • csv:生成CSV格式报告。

使用示例

此处以扫描“/opt/DevKit/wtdbg2-2.5”文件夹下源码,构建命令为make且日志级别为DEBUG为例,请根据实际情况进行修改。

devkit advisor addr-align -i /opt/DevKit/wtdbg2-2.5 -c make -l 0 

若在源码路径下进行字节对齐检查,分析完成后,执行ls时目录为空,这时需要返回到上一层目录,再重新进入到源码路径下执行ls命令,可以查看到相关文件。

返回信息如下,并输出报告。

Scanned time: 2024/02/29 02:44:48
Configuration:
    Scan source code path: /opt/DevKit/wtdbg2-2.5
    Generate report path: /opt/DevKit/workspace/devadmin/porting/package
    Generate report type: all
    Task Timeout Interval: The timeout period is not set.
    Log level: debug

For the detailed information, please check:
    /opt/DevKit/workspace/devadmin/porting/package/addr-align_20240229024448_4d53.html
    /opt/DevKit/workspace/devadmin/porting/package/addr-align_20240229024448_4d53.json
    /opt/DevKit/workspace/devadmin/porting/package/addr-align_20240229024448_4d53.csv

输出报告说明

表2 字节对齐检查输出报告参数说明

参数

说明

配置信息

显示软件源码文件存放路径。

需要修改的源码文件

显示需要进行字节对齐的源码文件路径等相关信息。