LOADRUNNER agent process 调用DLL出错的问题
基本情况:用VS2005写的DLL文件,C++,ATL.
本人机器上安装了VS2005和loadrunner8.1,在本机上用LR写脚本调用DLL,能正常工作.
但在LOADRUNNERagent process上运行虚拟用户的时候报出以下错误:
Action.c(16): Error: C interpreter run time error: Action.c (16):Error -- File error : LoadLibrary(*****.dll) failed : 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。
.
End auto log messages stack.
Start auto log messages stack - Iteration 1.
Action.c(16): Notify: CCI trace: Action.c(16): ci_load_dll(0x01089b9c, 0x010b018f "*****.dll")
.
Action.c(16): Notify: CCI trace: Compiled_code(0): Action()
.
Action.c(22): Error: C interpreter run time error: Action.c (22):Error -- Unresolved symbol : *****.
End auto log messages stack.
PS:
运行产生负载的机器只安装了LOADRUNNERagent process;没安装VS2005,但安装了.NET FRAMEWORK2.0
在安装完整LOADRUNNER但没安装vs2005(无.NET FRAMEWORK2.0)的机器上运行脚本,DLL也拷贝到了本地目录,还是产生以上同样的错误,
几个疑问:
1. 运行load generator时脚本所调用的DLL文件需要拷贝到安装generator的机器上去吗?
2. 是DLL运行环境的问题呢还是LR设置有问题?
希望高手指点指点,多谢啦!!!! 大哥大姐大叔大婶们,这个问题很深奥吗?给点意见也很好啊,帮帮这个脑壳都快想开花的人吧。。。。。。
偶也遇到了。来up一下
顺便问问,这个问题你解决了嘛? 你在load generator 上同样需要DLL,以及DLL依赖的lib或者DLL所以你需要用depends 工具查看依赖关系是否完整了 这个版本的人都好像没有结帖的习惯,即使解决了问题也不说是什么解决的。还是我来做个总结吧
实际问题就出在没有安装vs2005上,用depends工具也可以发现有dll文件不存在,但是即使把dll文件copy在对应目录(loadrunner/bin,scipts目录,system32目录下)实际上还是都不可以,我都试过了。所以即使发现了缺少dll文件,好像还是不能解决这个问题。
我最后尝试在安装LR的机器上安装了vs2005(被Load的dll文件是在vs2005下开发)出来的,结果就成功了。
结论是:dll文件在什么环境下开发出来,也必须在什么环境被LR load,这是最保险的方法。
这么古老的问题我都回答了,版主应该给我一颗奖章 你最好察看以下在Agent机器上的Loadrunner的目录下是否有一个VSNet.Dll(大概是这个名字)的文件,这是Agent编译用的,没有的话,就从Controller的机器考过来,Agent机器一般不需要VS2005的。 补充以下是在 /Loadrunner/bin目录下,不是在 AgentService/bin下
页:
[1]