在运行工程的过程中,我们不一定每一次都可以完美的契合我们所需要的目标。这里可能会存在着问题或者偏差,这个时候就需要我们去调试脚本。关于调试脚本,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. 你见过最垃圾的代码长什么样?(来长长见识)
  2. hard_negative_mining
  3. [MySQL] MySQL的自己主动化安装部署
  4. C++ Primer 5th笔记(chap 16 模板和泛型编程)模板实参推断
  5. HDU 5536 Chip Factory 字典树+贪心
  6. css 字体字体图标_CSS基础知识:了解字体
  7. 蓝桥杯 历届试题 带分数
  8. 关于在阅读nnUNet代码中的一些小细节的记录(三)
  9. win10浏览器闪退_win10纯净版系统中edge浏览器闪退的解决方法
  10. 【记录】读《你在天堂里遇见的五个人》有感
  11. HDFS RPC 调度策略 DecayRpcScheduler 与 BackOff
  12. 特别关注:“网络同居”热背后的心理学分析
  13. vue导致页面白屏几种情况
  14. 微软 Office Online 在线查看word,pdf, xls,ppt 文档
  15. 信号处理琐碎知识点 — OFDM 正交频分复用
  16. python parameter参数
  17. 有什么软件可以免费压缩图片?
  18. 大根堆、小根堆(数组模拟操作)
  19. 机房服务器系统监控软件,机房服务器系统监控软件
  20. Linux ps aux什么含义,Linux下psaux解释

热门文章

  1. 密里根油滴仪器测电子电荷实验(matplotlib)
  2. java 不能实例化类型_java不能实例化类型
  3. python贪婪匹配_python re模块匹配贪婪和非贪婪模式详解
  4. Ceph排错之osd之间心跳检测没有回应
  5. javaxmail引入maven依赖
  6. 14、iOS里面的富文本
  7. 在 Zend Studio 12.5 里下断点调试运行 PHP 源代码
  8. Vue——使用date-fns将时间戳转换成日期
  9. gRPC学习Go版(一)
  10. 女程序员实力坑大师兄,网友:保重兄弟!我不是故意笑的,哈哈哈