51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2369|回复: 8
打印 上一主题 下一主题

[求助] LR脚本有点内存泄漏~请教原因

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-8-20 09:20:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
脚本代码如下,为了说明问题所以简化了:
char * FindPos = NULL;

        if ((FindPos = (char *)calloc(1024, sizeof(char))) == NULL)
                {
                        lr_error_message("Insufficient memory available");
                        return -1;
                }
         free(FindPos);
        return 0;
}
以上代码放在action中迭代运行,发现内存会慢慢增加~最后吃掉所有内存.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2013-8-20 12:32:34 | 只看该作者
你return -1后就没机会free了吧
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2013-8-20 17:28:31 | 只看该作者
本帖最后由 yulei1983 于 2013-8-20 17:31 编辑

但是return -1之前是调用内存不成功啊~不需要释放吧
来个详细的
replacestr(char * sSrc, char *sMatchstr, char *sReplaceStr, long int Tmpsize)
{
int stringlen;
char *NewString = NULL;
char * FindPos = NULL;

FindPos = (char *)strstr(sSrc, sMatchstr);

if ((NewString = (char *)calloc(Tmpsize, sizeof(char))) == NULL)

{

lr_error_message("Insufficient memory available");

return -1;

}

if ((!FindPos)||(!sMatchstr))
{

//lr_error_message("XML is not responsed,arose FindPos is NULL");

free(NewString);

free(FindPos);

return -1;
}
else
{
while (FindPos != NULL)

{

memset(NewString, 0, Tmpsize);

stringlen = FindPos - sSrc;

strncpy(NewString, sSrc, stringlen);

strcat(NewString, sReplaceStr);

strcat(NewString, FindPos + strlen(sMatchstr));

strcpy(sSrc, NewString);

FindPos = (char *)strstr(sSrc, sMatchstr);

}
  }

free(NewString);
//free(FindPos);
return 0;
}
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2013-8-20 17:31:55 | 只看该作者
分配不成功也需要释放一下吗?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2013-8-20 17:32:44 | 只看该作者
分配失败也需要free吗?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2013-8-20 17:35:30 | 只看该作者
分配失败也需要free吗?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2013-8-21 09:01:43 | 只看该作者
调用不成功也需要释放吗?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2013-8-21 17:28:00 | 只看该作者
是否需要释放,你为什么不自己尝试的试试?不就都清楚了?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2013-8-21 17:28:08 | 只看该作者
是否需要释放,你为什么不自己尝试的试试?不就都清楚了?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-9 03:38 , Processed in 0.079486 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表