ElecNoon头像

【CAPL】踩坑记录:十六进制版本号解析出现“累加”Bug——局部变量一定要显式清零!

CAPL 踩坑记录:十六进制版本号解析出现“累加”Bug——局部变量一定要显式清零!

摘要:在 CANoe 里用 CAPL 解析 0x000F / 0x07 / 0x0000 三个软件版本号预期值,结果却解析成 15 / 3847 / 252116992。排查发现是 ParseHex 的累加器变量在多次函数调用之间残留了上一次的结果,根因是 CAPL 局部变量“声明处初始化”不可靠。本文记录现象、定位过程与修复,并总结一条重要避坑经验:CAPL 里的累加器/解析器,务必在函数体内显式清零。


一、现象

压测脚本里,多个模块的软件版本号预期值是 string 类型(面板可输入 0x0001 这样的十六进制),CAPL 用自定义 ParseHex 把字符串解析成整数,再和 CAN 信号里读到的实际版本号比较。

某次我在面板里分别设定:

变量 设定值 期望解析结果
VerNum_Exp_A 0x000F

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/sinat_40003796/article/details/169355425

文章来源转载

评论

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--