如何调用Ozone支持的脚本函数来实现自动化的调试工作

ozone是一个跨平台支持的代码调试软件,支持segger j-link和j-trace调试器。可以加载iar、keil、gcc、clang/llvm等工具链编译生成的elf/dwarf可执行文件,进行c/c++源码调试和汇编指令调试。
ozone项目工程文件的结构是一种类似于c语言的脚本语言,允许用户通过编辑该脚本文件来配置ozone软件的用户界面和自动化调试工作流程。本文将介绍如何调用ozone支持的脚本函数来实现自动化的调试工作。
可以通过ozone软件gui所执行的大多数操作都有一个对应的脚本函数,在工程文件中调用该函数即可实现同样的效果。例如设置断点,观察某个变量或者寄存器的值,将某些分析视图的结果数据导出等等。以及自定义芯片程序在debug开始之前,debug暂停和芯片复位之后需要执行的特定操作等等。这些都可以通过编辑ozone工程文件来实现。
ozone支持的脚本函数的功能和作用的详细介绍在ozone用户手册中有详细的介绍,大多数函数从其命名中即可清晰直观的了解到所对应执行的操作。下面将简单介绍一些常用脚本函数的例子。
例如通过调用函数来设置断点,脚本函数支持各类型断点的操作,包括断点设置,使能,删除等操作。支持在特定代码位置设置代码断点或者数据断点,只需要在脚本文件调用对应的函数即可。
可以通过函数指定在哪个c文件的什么代码行位置设置断点,例如在os_tracedemo.c文件的第190行位置设置代码断点。
当设置的断点在自动化调试过程中被触发的时候,可以通过break.setcommand函数指定该断点被触发时需要执行的操作。
可以根据每个断点位置设置对应的操作,例如在os_tracedemo.c第190行位置断点被触发时调用脚本文件中的onbphit2()函数,在该函数中将指令跟踪调试trace到的数据分析结果通过profile系列函数进行导出,支持导出为txt格式或者csv格式。
在对应的文件路径下即可找到所导出的指令跟踪分析结果,代码覆盖率分析的结果如下。
在脚本自动化执行过程中可以将相应的log或者错误信息输出到ozone的控制台窗口,通过调用util系列函数来实现。
如果不想通过ozone的控制台窗口查看输出,也可以调用函数将log信息保存到指定的log文件中。
在脚本的log文件中可以看到自动化调试的执行记录,包括断点的触发记录,以及触发后执行的对应操作等。如调用了watch.add函数在watch观察窗口观察某个变量的数值,调用函数后,ozone的watch窗口中将会添加对应的变量。
此处通过函数添加观察的变量名称是“on”,在设置的断点2被触发时该变量的值为1。
本文简单介绍了下ozone支持的脚本函数,以及调用这些函数所能够实现的自动化调试功能,包括在指定位置设置各类型断点,指定断点被触发后对应执行的操作,自动导出trace跟踪的数据结果等等。ozone支持的众多脚本函数和命令允许用户在需要执行大规模调试工作的时候进行自动化调试,能够减轻客户测试工程师的工作。ozone支持的完整脚本函数的详细介绍请参考ozone的用户手册,本文中介绍使用的完整工程示例可以通过如下链接进行下载,感兴趣的用户也可以动手进行尝试。


网友举办iPhone11浴霸镜头PS大赛 彻底被玩坏
开发人员对DSP控制器的四大误解
Synaptics行业首次交互技术“三重奏”,指纹、触控、显示支持华为畅享6S智能手机
如何设计 TVS 二极管以保护千兆位以太网不受电压和电流瞬变的影响
鸿蒙系统 2.0基本上已去掉安卓系统最核心的部分
如何调用Ozone支持的脚本函数来实现自动化的调试工作
华为云计算的发展怎样
正点原子开拓者FPGA:DHT11温湿度传感器实验(2)
长安汽车新能源板块“分层级”发展 与与蔚来合作不是代工模式
PLC编程中容易混淆的AND指令和OR指令
三星折叠屏手机低价版本曝光:采用UTG玻璃面板
2021年,美国在人工智能的投入将达50亿美元
工业机器人PLC编程的基本步骤
电动叉车选择锂电池的优势有哪些
投影机的核心部件和投影原理
Spowers经营着世界上唯一独立的氢燃料电池汽车公司
带立柱式网络对讲求助终端
智慧城市吸引力加大 软通动力发力云服务
PI推出电源设计软件PI Expert7.1.5版PI
人脸识别:现代科技与隐私保护的博弈