使用call命令在GDB中重复调用某函数
在白盒测试中经常使用GDB进行函数的分支覆盖测试,但在测试对象函数触发很困难,测试效率就很低下。
假设测试函数fun1有10条分支。每次进入fun1需设置10个变量。
那么一般情况下要在GDB中操作10 * 10 = 100次才能将该分支覆盖完毕。
经过查找,GDB中存在一种方法,重复调用该函数,使用10+10 =20次即可覆盖分支。
GDB使用步骤:
1)首先对该函数打断点
有以下函数:
int webprc_cmmenu_lchk(WEB_CMMENU_LAN_PATH_CHK_STATUS *result, int filetype,CM_COMMON_INFO *cominf, WEB_FLAG_TYPE type, char *errmsg)
2)第一次,手动进入该函数
GDB将显示以下msg:
Breakpoint 2, webprc_cmmenu_lchk (result=0x1006cc8c, filetype=60, cominf=0x48197008, type=0 '\000',errmsg=0x10087f30 "\302\302\302\302\302\302"...) at webcmmenu.c:212
212 webprc_lock(WEB_SEM_LOCK);
(gdb) n
213 result->status.status.size = sizeof(WEB_CMMENU_LAN_PATH_CHK_S
使用call命令在GDB中重复调用某函数相关推荐
- C语言中连续调用rand函数,返回值不变
C语言中连续调用rand函数,返回值不变 最近用C语言随机函数编程发现了一个奇怪的现象: 简易版代码: #include<stdio.h> #include<stdlib.h> ...
- matlab 中调用s函数表达式,[求助]S函数中能否调用M函数
[求助]S函数中能否调用M函数 我现在写了一个S-FUNCTION 里面调用了一些M函数,当把S函数的名字写入S-FUNCTION块的时候 总是出现 ??? SWITCH expression mus ...
- linux 下的动态库制作 以及在python 中如何调用 c 函数库
linux 下的动态库制作 以及在python 中如何调用 c 函数库 动态库: 动态库又称动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序 ...
- C++中怎么调用C函数
关于"C++中怎么调用C函数"的方法,之前有浏览过大牛的文章,貌似有好几种方法. 作为小白,this is my way. /* File: parse.h* Purpose: s ...
- 创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3。 要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算
//创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3.//要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算public static int max3 ...
- java如何调用linux命令_java程序中如何调用linux命令
java程序中如何调用linux命令 作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服 ...
- linux怎么重复命令,Linux系统中重复执行历史命令的方法有哪些?
今天小编要跟大家分享的文章是关于Linux系统中重复执行历史命令的方法有哪些?各位正在从事Linux运维工作的小伙伴们,如果要执行一条或多条之前输过的指令,要怎么处理?很多人会想到使用上下箭头去翻查历 ...
- java中如何调用c_java中如何调用c函数
先介绍一下jni:Java Native Interface,它能够使java和其他编程语言编写的应用程序和库进行相互操作. java中调用c函数,主要是通过本地化接口jni来实现的,在windows ...
- keil5函数 默认返回值_Python中如何调用random()函数
在开始了解之前,我们需要知道random()函数是需要导入模板,才可以进行访问,然后通过调用静态对象来使用这个方法,另外返回生成的随机实数,是有一定的范围.下面正式开始主题介绍: 先给大家带来一列实例 ...
最新文章
- iphone微信美颜插件_Cydia插件推荐
- w10安装ubuntu_Win10 + Ubuntu 16.04双系统完美安装教程【详细】
- getRequestDispatcher()与sendRedirect()的区别
- [css] 怎么给手持设备添加特殊样式?
- js三元判断html,JS 三元条件运算符
- 2 QM配置-质量计划配置-编辑特性属性的代码组和代码
- 使用函数自调用实现将局部变量转换成全局变量
- Matlab 【应用】【1】用Matlab找一组模拟波形的极值(含极大值、极小值、最大值)并在图中画出来
- shell 登录mysql 然后quit_MySQL 数据库简单操作
- 我们应该改变Linux的二十四件事
- Nginx+PHP+MySQL+Ubuntu14.04 64位环境搭建
- Java学习代码合集
- java字节码查看器_jclasslib 下载
- 【华为OD机试真题 JS】事件推送
- sdk manger
- 最好PDF软件汇总070623
- android saf 打开指定目录,并操作相关文件
- 集美大学计算机工程学院学业预警,学业预警
- 华为linux改ip地址,ubuntu9.10校园网上网配置详细教程(华为h3c,mac地址绑定)
- Lotus Notes中文档查询(转)