在运行工程的过程中,我们不一定每一次都可以完美的契合我们所需要的目标。这里可能会存在着问题或者偏差,这个时候就需要我们去调试脚本。关于调试脚本,CANoe支持两种不同的方式,一种是进入debug模式进入调试,另一种是通过打印的方式来分析和调试脚本。
CANoe的输出打印窗口是有一个单独的打印窗口的,叫做 "Write"窗口。进入方式为Home -> Write。对于截图中的内容来说,这边记录了多次的诊断请求与诊断响应。系统的启动也会有一些内容打印,这样我们就可以类似于通过分析打印的log来分析程序的执行情况。关于如何通过Debug模式来调试脚本,后续我这边再做介绍。
介绍完write窗口之后,这边就需要介绍一些CAPL语言中的输出格式的定义了。Write函数所支持的输出格式如下。

格式 输出
“%ld” or “%d” 整数十进制格式显示
“%lx” or “%x” 整数十六进制格式显示
“%lX” or “%X” 整数十六进制格式显示 (字母大写显示)
“%lu” or “%u” 无符号整数格式显示
“%lo” or “%o” 整数八进制格式显示
“%s” 显示字符串
“%g” 浮点数显示(最终显示为科学计数法)
“%f” 浮点数显示
“%c” 显示一个字符
“%I64d” or “%lld” 64位整数的十进制格式显示
“%I64x” or “%llx” 64位整数的十六进制格式显示
“%I64X” or “%llX” 64位整数的十六进制格式显示(字母大写显示)
“%I64u” or “%llu” 64位无符号整数的十进制格式显示
“%I64o” or “%llo” 64位整数的八进制格式显示
“%%” 显示一个%

这里为了更好的理解,这边列举一个例子:

float str = 123456789.987654321;
char str1[20] = {'a','b','c','d'};
char str2 = 'ab';
int number = 160;void WRITE()
{write("Hello world");write("number = %d",number);write("number = %x",number);write("number = %X",number);write("number = %o",number);write("number = %u",number);write("str1 = %s",str1);write("str = %g",str);write("str = %f",str);write("str = %5.3f",str);write("str = %15.33f",str);write("str = %6.8g",str);write("str1 = %c",str2);write("number = %I64d",number);write("number = %I64x",number);write("number = %I64X",number);write("number = %I64o",number);write("number = %I64u",number);
}void MainTest ()
{WRITE();
}

输出样例:

Hello world
number = 160
number = a0
number = A0
number = 240
number = 160
str1 = abcd
str = 1.23457e+008
str = 123456789.987654
str = 123456789.988
str = 123456789.987654330000000000000000000000000
str = 1.2345679e+008
str1 = b
number = 712964571296
number = a6000000a0
number = A6000000A0
number = 12300000000240
number = 712964571296

CPAL脚本自动化测试 ———— Write函数的使用与输出格式相关推荐

  1. CPAL脚本自动化测试 ———— Signal Wait系列函数及使用

    等待指示类(Wait Instruction Functions)主要运用于为用户提供动作设置.等待测试等功能. TestValidateForTesterConfirmation 函数 使用格式如下 ...

  2. CPAL脚本自动化测试 ———— Flexray系列函数及使用

    现在,CANoe能支持的协议已经越来越多了,Flexray也逐步被使用到了整车网络中.既然可以使用以太网进行通信,那也需要对Flexray进行一定的操作.CANoe 内部存在着Flexray系列函数, ...

  3. CPAL脚本自动化测试 ———— FDX系列函数及使用

    在构建HIL测试环境过程中,FDX协议是一个常用的协议来传输数据.在调试的过程中,CAPL的函数库里面也存在一些已有的FDX系列相关的函数,我们可以直接使用来实现一些操作. FDXClientHand ...

  4. CPAL脚本自动化测试 ———— RC232 系列函数及使用

    在测试过程中,我们可能还涉及到电压的变化.在这边,我们可以采用使用程控电源并通过RC232来控制程控电源的输出与变化.我一般是用较多的是TOE8592,在CAPL的函数库中,同时也支持RC232这系列 ...

  5. shell脚本编程之函数

    技术交流QQ群:1027579432,欢迎你的加入! 1.基本的脚本函数 脚本函数出现的目的:为了解决大型处理过程中,需要将相同的重复代码封装起来,提高代码的复用性. 函数是一个脚本代码块,你可以为其 ...

  6. loadrunner写脚本常用C函数

    loadrunner写脚本常用C函数 strcat的串连两个字串. strchr返回指向第一次出现的字符串中的字符. STRCMP比较两个字符串来确定的字母顺序. STRCPY一个字符串复制到另一个地 ...

  7. Shell脚本中的函数、数组

    Shell脚本中的函数 Shell脚本中的数组 转载于:https://blog.51cto.com/13515599/2107416

  8. Bash脚本教程之函数

    目录 简介 参数变量 return 命令 全局变量和局部变量,local 命令 简介 函数(function)是可以重复使用的代码片段,有利于代码的复用.它与别名(alias)的区别是,别名只适合封装 ...

  9. ASP基础教程:ASP脚本变量、函数、过程和条件语句

    在上一期中作者向诸位简要介绍了 ASP 脚本语言之一 VBScript 的一些基本常识,本期将继续给大家讲解 VBScript 的脚本编写方法,并通过展示 VBScript 在 ASP 程序编写过程中 ...

最新文章

  1. PEP8 Python
  2. 基于Nginx的负载均衡
  3. 认识 linux sysfs文件系统
  4. java基础提升篇:深入浅出Java多线程
  5. 人生苦短,开发用云 | 如何优雅完成程序员的侠客梦?
  6. ASP.NET程序中常用代码汇总(四)
  7. firefox下可恶的value
  8. 内核aio_linux内核aio功能
  9. Public权限下的列目录
  10. locate-updatedb命令检索不全
  11. JS包管理器Yarn 与 npm比较
  12. python2.0 s12 day8 _ python线程python进程
  13. SpringBoot中的约定优于配置
  14. 数据库常见面试题汇总
  15. 《别做正常的傻瓜》1——结果偏见
  16. jsp高级DOM和BOM
  17. 什么是云原生中台业务架构?
  18. 在线vr高清3d展示线上三维展示平台
  19. linux下使用mail定时发送邮件-阿里企业邮箱发送
  20. python 画ks曲线_Ks密度曲线分布图绘图

热门文章

  1. 程序员接私活的七大平台
  2. 【leetcode】最长回文子串(区间dp)
  3. SQL insert into 语句的写法
  4. SQLServer_where添加类似ifelse条件(casewhen)
  5. windows cmd修改注册表
  6. 未来的你才是时间的新欢
  7. Apache安装与启动服务失败问题
  8. tars源码漫谈第24篇------tc_lock.h(基本锁)
  9. python imread函数_OpenCV 使用imread()函数读取图片的六种正确姿势
  10. b站计算机考研大师兄数据结构代码打卡第1天