51Testing软件测试论坛
标题:
运行loadrunner 场景,报出mmdrv.exe 的错误,内存不能为"writtern"
[打印本页]
作者:
ljonathan
时间:
2009-6-23 15:07
标题:
运行loadrunner 场景,报出mmdrv.exe 的错误,内存不能为"writtern"
运行loadrunner 场景,报出mmdrv.exe 的错误
[attach]53306[/attach]
说明:
刚刚做200并发的时候,还是运行正常,这回50并发确出错了
脚本中调用了动态库,也用了指针,不过脚本最后都free()了
wsrun32.dll 也放到过bin下了,
内存问题不好搞哦
wsrun32.rar
(58.96 KB)
下载次数: 400
2008-11-12 17:20
作者:
云层
时间:
2009-6-23 17:52
系统问题吧?
作者:
ljonathan
时间:
2009-6-23 19:19
系统问题吗?
作者:
ljonathan
时间:
2009-6-24 01:14
《LR在中文操作系统中可能发生的错误》
http://www.51testing.com/html/23/n-110823.html
传说中的云层老师。。。。。转载很多哦
你所说的系统问题是不是需要装 英文的操作系统呢?
楼上明示哦
您现在使用的是不是英文操作系统哦
打算明天试一试,能解决问题就太感谢了。。。。。。
作者:
ljonathan
时间:
2009-6-25 13:48
装了英文的操作系统,还是出错
应该是脚本中用了指针的问题
Action.c(69): Error: C interpreter run time error: Action.c (69): Error -- memory violation : Exception ACCESS_VIOLATION received. [MsgId: MERR-19890]
Action.c(69): Notify: CCI trace: Action.c(69): strcpy(0x06ae3120 "", 21451440)
. [MsgId: MMSG-19891]
Action.c(69): Notify: CCI trace: Compiled_code(0): Action()
. [MsgId: MMSG-19891]
Action was aborted. [MsgId: MMSG-10694]
Ending Vuser... [MsgId: MMSG-15966]
在VuGen中运行,脚本没有问题,在Controller 中并发运行就会出错.....
相关的代码如下:
char *phone=(char *)malloc(20*sizeof(char)); //手机号11
char *kind=(char *)malloc(3*sizeof(char)); //类别1
char *verifycode =(char *)malloc(8*sizeof(char)); //指针型的手机验证码,做为输入参数使用 8
strcpy(phone,"19000012730"); //手机号
strcpy(kind,"2"); //业务类别
strcpy(verifycode,getData(phone,kind)); // getData(phone,kind) 是delphi写的dll,通过手机号和业务类别,返回验证码
lr_save_string(verifycode, "myverifycode" ); //变量转参数,下面用到
脚本的结尾,我添加了指针释放
free(phone);
free(kind);
free(verifycode);
斑竹,帮忙看看呃。。。。。。
Notify: CCI trace: Action.c(69): strcpy(0x06ae3120 "", 21451440)
我看这个错误信息,应该是,dll函数已经返回了验证码:21451440,但拷贝的时候strcpy函数出错了。
对C指针不熟,帮我分析下。。。谢谢了
---------------------------------------------------------------------
难道是,不释放。。。。
释放内存了,反而不能为written
作者:
ljonathan
时间:
2009-6-25 13:53
Abnormal termination, caused by mdrv process termination.
Action.c(69): Error: C interpreter run time error: Action.c (69): Error -- memory violation : Exception ACCESS_VIOLATION received.
作者:
ljonathan
时间:
2009-6-29 13:20
目前: 问题没有解决,更换测试工具为JMeter
作者:
eramyang
时间:
2009-6-29 14:31
我好像也碰到过这个问题,应该是由于有多个mmdrv.exe进程在运行引起的,你可以在任务管理器里面把所有的mmdrv.exe进程关闭,然后再重开测试脚本。
作者:
shanxi
时间:
2009-6-29 14:59
标题:
回复 1# 的帖子
你换用以进程运行,放上你这样运行的结果
作者:
ljonathan
时间:
2009-7-7 18:25
我换过用进程运行,大概是200Vuser里仍然有三四十个Vuser会出错
而且用进程的话,CPU占用率超过90%。。
“你可以在任务管理器里面把所有的mmdrv.exe进程关闭,然后再重开测试脚本。”
这样应该会好些,运行场景时,和运行场景前,都会关注 mmdrv.exe进程的
谢谢楼上两位朋友的答复。。。
这个问题,慢慢研究。。。
作者:
shanxi
时间:
2009-7-7 18:28
原帖由
ljonathan
于 2009-7-7 18:25 发表
我换过用进程运行,大概是200Vuser里仍然有三四十个Vuser会出错
看来跟 线程安全 无关了。
试试以下改法:
char *phone= NULL;
phone=(char *)malloc(20*sizeof(char));
char *kind= NULL;
kind=(char *)malloc(3*sizeof(char));
char *verifycode =NULL;
verifycode =(char *)malloc(8*sizeof(char));
..........................................
free(phone);
phone= NULL;
free(kind);
kind= NULL;
free(verifycode);
verifycode =NULL;
=============================================================
程序开始的初始化可有可无。
[
本帖最后由 shanxi 于 2009-7-7 18:44 编辑
]
作者:
ljonathan
时间:
2009-7-7 18:47
下班了,改天,我再试试用进程运行, 再验证一下,把结果贴出来
还有就是变量设置:select next row : Unique,貌似这个设置也容易引起问题,把它换成其他的再试试。
继续。。
还有就是逐行注释,是不错的排错方法
作者:
蓝色水滴
时间:
2010-2-23 17:04
在云层老师的贴里,说这个问题在lr9.5上是无法解决的,那除了装英文的操作系统外,还有其它的解决方法吗?
作者:
地铁和人海
时间:
2013-5-21 11:37
急需,怎么不能下载???
作者:
swj0618
时间:
2013-6-6 14:26
回复
12#
ljonathan
怎么解决的,,没贴方法么~~~~
作者:
熊猫仙
时间:
2014-5-5 11:08
win7-64中文旗舰版+lp11破解版 在运行测试时遇到同样问题,研究中。。。。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2