跳转至

dfx_cmd

dfx_cmd 提供 DFX (Design for eXcellence) 调试命令接口,支持屏幕截屏保存和调试命令执行。

头文件清单

#include "middleware/services/gui/uikit/proprietary/include/dfx/dfx_cmd.h"

接口清单

接口名称 功能简述
InitDfxCmd 初始化DFX命令模块,注册命令行回调
SaveScreencapToFile 将屏幕截屏数据保存至文件
ExecUikitDfxByCmdType 根据命令类型执行对应的DFX调试命令

Functions

InitDfxCmd

void InitDfxCmd(void)

头文件清单

#include "middleware/services/gui/uikit/proprietary/include/dfx/dfx_cmd.h"

功能说明

  • 初始化DFX命令模块,将DFX命令处理函数注册为系统shell命令
  • 当ENABLE_DFX_CMD宏开启且SUPPORT_OS_CMD宏开启时,注册"guidfx"命令到系统命令行,命令执行时回调ExecUikitDfxByCmdType
  • 当ENABLE_DFX_CMD宏关闭时,该函数为空实现,直接返回

前置条件

  • ENABLE_DFX_CMD宏已开启(默认值为1)
  • 图形服务已初始化完成

Kconfig配置

配置项 宏类型 说明 默认值
ENABLE_DFX_CMD 功能宏 支持DFX命令接口功能 1

参考案例

SaveScreencapToFile

bool SaveScreencapToFile(void)

头文件清单

#include "middleware/services/gui/uikit/proprietary/include/dfx/dfx_cmd.h"

功能说明

  • 将当前屏幕截屏数据保存至文件,支持全屏截屏、指定视图截屏和指定区域截屏三种模式
  • 文件路径由ScreencapCmd命令预先设置,截屏完成后释放文件路径缓冲区
  • 当ENABLE_DFX_CMD宏关闭时,该函数直接返回true

前置条件

  • ENABLE_DFX_CMD宏已开启(默认值为1)
  • 屏幕截屏标志已通过RootView::SetScreencapFlag()设置
  • 截屏文件路径已通过ScreencapCmd命令设置(g_filePath不为NULL)

返回值

返回类型:bool

返回值 文字含义 触发场景
true 截屏保存成功 截屏数据写入文件成功
false 截屏保存失败 文件路径为空、文件打开失败或数据写入失败

Kconfig配置

配置项 宏类型 说明 默认值
ENABLE_DFX_CMD 功能宏 支持DFX命令接口功能 1

参考案例

ExecUikitDfxByCmdType

bool ExecUikitDfxByCmdType(int argc, char *argv[])

头文件清单

#include "middleware/services/gui/uikit/proprietary/include/dfx/dfx_cmd.h"

功能说明

  • 根据命令行参数中的命令类型,在DFX命令列表中查找并执行对应的调试命令
  • 支持的命令类型包括:screencap、dump_view_id、dump_root_view、setfreq、printfps、hidefps、showfps、showtime、refresh、showimg、hideimg等
  • 执行命令前会退出低功耗模式(dumpstate命令除外)
  • 当ENABLE_DFX_CMD宏关闭时,该函数直接返回true

前置条件

  • ENABLE_DFX_CMD宏已开启(默认值为1)
  • InitDfxCmd()已完成初始化

入参

名称 参数类型 详细说明 约束取值范围
argc int 参数个数,包含命令名本身 >= 1
argv char *[] 参数数组,argv[0]为命令类型名称 argv[0]必须为g_dfxCmdList中已注册的命令字符串

返回值

返回类型:bool

返回值 文字含义 触发场景
true 命令执行成功 成功匹配并执行对应的DFX命令
false 命令执行失败 argc < 1 或未找到匹配的命令类型

Kconfig配置

配置项 宏类型 说明 默认值
ENABLE_DFX_CMD 功能宏 支持DFX命令接口功能 1

参考案例