51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 9757|回复: 28
打印 上一主题 下一主题

[原创] LR脚本运行中出现内存泄露问题 如何解决

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-2-1 16:55:24 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
用LR录制脚本之后,在脚本中添加如下代码

int index;
int length;
char str[100], *sessionID;
。。。。。
strcpy(str, lr_eval_string("{sID}"));
sessionID = str;
sessionID+=12;
。。。。。
其余的脚本都是LR自动生成的,VUGEN运行无误
但当我用controller按照既定场景对脚本进行运行的时候,发现mmdrv.exe进程所占用的内存不断增加,运行时间过长就会导致内存溢出,controller停止运行

想请教一下各位大侠,这种内存泄露,是不是因为我添加的那部分脚本导致的,如果是的话,如何解决?如果不是的话,应该如何排查导致内存泄露的脚本位置?
望诸位多多指教,感激不尽。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    慵懒
    2016-3-24 21:22
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    29#
    发表于 2015-12-9 10:14:22 | 只看该作者
    请问楼主的问题解决吗~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    28#
    发表于 2012-3-27 15:06:30 | 只看该作者
    LR11也有patch1和2啊,装上内存问题就好多了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    27#
     楼主| 发表于 2012-3-5 10:24:01 | 只看该作者
    回复 26# ottobaby


        不好意思,依旧没有解决。。。但貌似是LR自己的问题,并非脚本的错误,当然,如果有人有解决办法,欢迎 共享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-9 09:45
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    26#
    发表于 2012-3-4 18:21:22 | 只看该作者
    想知道,这个问题解决了木有??
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    25#
     楼主| 发表于 2012-2-27 14:03:05 | 只看该作者
    回复 22# swordsman


        LR9.5对flex的支持的确不够完善,所以,有一个patch1和patch2可以把LR9.5升级至9.52,用来完善对flex的支持,但升级过程存在一定的风险,有可能会导致LR不可用,当然,正常情况下可以成功升级。但跟LR11相比,9.52对flex的支持,依旧是比较简单的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24#
    发表于 2012-2-23 15:59:26 | 只看该作者
    学习先了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    23#
     楼主| 发表于 2012-2-22 14:21:19 | 只看该作者
    回复 20# aakkii


    首先谢谢你的回复。。。   
    我知道LR9.5中flex协议不完善,有个patch1和patch2。。。你的意思是说LR11也有patch1和2?你也有过这样的经历么?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22#
    发表于 2012-2-14 15:06:04 | 只看该作者
    如果用lr 9 也出现这样的问题,怎么处理?
    也打patch?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    21#
    发表于 2012-2-9 16:43:41 | 只看该作者
    因为是loadrunner11中的flex协议不完善造成的,打上patch1和2解决问题。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2012-2-9 16:41:36 | 只看该作者
    因为是loadrunner11中的flex协议不完善造成的,打上patch1和2解决问题。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
     楼主| 发表于 2012-2-9 11:18:27 | 只看该作者
    对于sessionID所用到的地方。。。在这里再多附上一段代码 希望可以有助于我所表达的意思:
    。。。。。。
            lr_xml_get_values("XML={xml}",
                              "FastQuery=/AMFPacket/AMFHeaders/AMFHeader/string",
                              "ValueParam=sID",
                              LAST);
            strcpy(str, lr_eval_string("{sID}"));
            sessionID = str;
            sessionID+=12;

            flex_amf_call(
                    "AMF3_call_1",
                    "Gateway=http://192.168.6.125:8080/sbs/messagebroker/amf;jsessionid={sessionID}",
                    "Snapshot=t42.inf",
                    MESSAGE,
                    "Method=null",
                    "TargetObjectId=/1",
                    BEGIN_ARGUMENTS,
                    "<AMF3><object-externalizable-custom><flex.messaging.messages.RemotingMessage>\n "
                    " <destination>versionController</destination>\n  <messageId>"
                    "DC9C0DBE-9D1C-869C-CE6E-EADC775BB071</messageId>\n  <timestamp>0</timestamp>\n  "
                    "<timeToLive>0</timeToLive>\n  <headers>\n    <entry>\n      <string>"
                    "DSEndpoint</string>\n      <string>my-amf</string>\n    </entry>\n    <entry>\n "
                    "     <string>DSId</string>\n      <string>"
                    "{dsID}</string>\n    </entry>\n  </headers>\n  "
                    "<operation>getVersion</operation>\n  <parameters/>"
                    "\n</flex.messaging.messages.RemotingMessage></object-externalizable-custom>"
                    "</AMF3>",
                    END_ARGUMENTS,
                    LAST);
    。。。。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
     楼主| 发表于 2012-2-9 11:14:00 | 只看该作者
    回复 15# 泊涯


        谢谢泊涯的回复
    你所谓的写法问题,和sculley是一个意思么?还是其他的什么意思 麻烦解释一下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
     楼主| 发表于 2012-2-9 11:13:05 | 只看该作者
    回复 14# sculley


        谢谢sculley的回复
    这个操作的目的是移动指针的初始位置,让它指向数组的第13个字符,截取从这个字符还是的数组作为关联时要用到的数据
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2012-2-8 14:30:37 | 只看该作者
    回复  mvvztt


        谢谢你的回复 初步验证 不是系统内存泄露的问题
    诶~纠结中。。。
    孤单芭蕾lonely 发表于 2012-2-2 16:23



        想知道是否是被测系统造成的内存泄露,还有一个办法就是使用内存泄露检测工具,看看这个帖子http://bbs.51testing.com/thread-87138-1-2.html
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2012-2-8 09:40:23 | 只看该作者
    sessionID 写法问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2012-2-7 14:49:58 | 只看该作者
    sessionID+=12;
    这是什么意思,sessionID不是指针吗,这样操作也行
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
     楼主| 发表于 2012-2-2 16:23:45 | 只看该作者
    回复 12# mvvztt


        谢谢你的回复 初步验证 不是系统内存泄露的问题
    诶~纠结中。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2012-2-2 15:04:20 | 只看该作者
    回复  mvvztt


        请问 服务器的日志怎么看?最好给个例子。。。
    孤单芭蕾lonely 发表于 2012-2-2 09:51



        你用的是什么服务器嘞~~~我用的是tomcat,目录下就有logs目录,可以看的,问你们的开发就知道了,呵呵
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2012-2-2 09:53:03 | 只看该作者
    回复 2# 云层


    谢谢云层的指点。。。   
    变量free了,mmdrv还是在不断的涨。。。。另外,我用的是LR11
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-26 15:32 , Processed in 0.085325 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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