美好的一天!
我在使用HP ALM Performance Center在远程Load Generator(Performance Center主机)上运行Vugen Winsock脚本时遇到问题。
在远程Load Generator上,它在第一次lrs_get_static_buffer()呼叫时失败并出现运行时错误。
VUser日志出错:
Action.c(138): lrs_get_static_buffer(socket0, buf0, 0, -1, null)
Action.c(138): Error: С interpreter run time error: Action.c (138): Error -- memory violation : Exception ACCESS_VIOLATION received.
在本地计算机上使用VuGen启动脚本时工作正常。
脚本在远程Load Generator上工作正常,而脚本从记录中发送未修改的数据(所有replace_data()函数调用都被注释)。
静态缓冲区" buf0"我试图获得的只有61个字节。
send buf0 61
"\n"
"\x00"
...
"R\b"
recv buf1 32
...
" data.ws"文件内容在录制阶段完好无损。
代码:
char * buffer;
...
int replace_data (char * buffer_desc)
{
long size;
...
buffer = lrs_get_static_buffer("socket0", buffer_desc, 0, -1, NULL); // here is the problem
size = lrs_get_user_buffer_size("socket0");
...
// replacing some bytes
...
lrs_set_send_buffer("socket0", buffer, size);
}
Action()
{
int rc;
buffer = (char *) malloc (4096 * sizeof(char));
...
rc = lrs_create_socket("socket0", "TCP", "RemoteHost={hostname}:{port}", LrsLastArg);
...
replace_data("buf0");
rc = lrs_length_send("socket0", "buf0", 0, LrsLastArg);
...
rc = lrs_close_socket("socket0");
}
请帮助我。
我在HPE Loadrunner Practitioners论坛上提出already asked这个问题,但仍然没有得到答案。