【Tessy】操练过程中的问题记录

学习目标:

熟悉Tessy的使用

1. 关于 License 的添加

1.1 点击"开始键",在最近添加中有 Floating License Manager

1.2 之前看其他博主的截图都是在Teesy软件旁边打开的Floating License Manager,一直没有找到位置。偶然见发现在最近添加就有。

2. 关于函数的 Properties

2.1 Properties需要先点击“Test Project”中的工程里的内容,projecr、Folder、Module都行。选中了才能看到Properties中有内容

分割线-----------------------------------------------------------------------------

1. 导入工程后 Execute Test 遇到的问题

  1. D:\XXX\XXXX\XXX: warning: implicit declaration of function “ABCD” is invalid in C99 首先这段话的直接中文意思是 某路径下的警告:在C99的标准中函数"ABCD"是隐式声明的状态。

D:\XXX\XXXX\XXX: warning: implicit declaration of function “ABCD” is invalid in C99

由于项目时间比较短,加上刚接触Tessy软件,一直以为Tessy中的warning和其他IDE编译软件一样可以忽略,直到一个下午都无法往后推进单元测试才意识到问题的严重性。Tessy中如果一直是 Failed to execute ‘driver32.exe “C:\tessy\tmp\tbs\12960.tbs”’。其实就是warning的内容影响编译结果了。

Failed to execute ‘driver32.exe “C:\tessy\tmp\tbs\12960.tbs”’

解决方案:找到报错的函数,在需要进行测试的C文件中用extern 重新声明一下就可以了。
原因是:A.c文件中想要调用外部函数B.c中的D函数的话,必须要用以下两种方式进行。原先的warning刚好是调用了外部函数,但是该外部函数在.h文件中又没有进行声明导致的
方式1:

// This is A.c file 
extern void Dfunction(void);
int main()
{
	Dfunction();
	return 0;
}
// This is B.c file 
void Dfunction(void)
{
	printf("This is a Tessy module Test");
}

方式2

// This is A.c file 
#include "B.h"
int main()
{
	Dfunction();
	return 0;
}
// This is B.c file 
void Dfunction(void)
{
	printf("This is a Tessy module Test");
}
// This is B.h file 
void Dfunction(void);

2. 桩函数的使用

使用Tessy对某个函数进行分析的时候,需要将整个C文件中所有涉及到的函数都进行打桩,否则无法进行后续分析。

D:\Project\Tessy\work\00000401\00000402\XXX.c:7770: undefined reference to ‘TestFunction’

  1. 指定函数无法进行 Execute Test

出现以下情况,都是由于test case没有设置齐全导致的,可能是输入输出中的某个变量没有设置测试值。注意检查test case 的内容就可以解决这个问题

Test Object ‘App_A_Function’ removed from test; it is not executable.
Test Object ‘App_B_Function’ removed from test; it is not executable.
Test Object ‘App_c_Function’ removed from test; it is not executable.

结论:

由于还不是很熟悉Tessy的使用,先记录这些内容。后续碰到问题,有解决方案后继续和更新…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值