使用loadRunner正常录制脚本,正常进行场景设计中,开始运行场景时Controller就直接提示:Unable to enter critical section(无法进入关键部分),在查看错误信息时,错误码是-19797,详细错误文体提示:Error: Vuser compilation failed. Please set CCIDebug to Off in CCI section of mdrv.dat file.
我使用VuGen正常进行录制,在完善脚本后,到Controller中配置场景,完成后,点击Start Scenario打算开始运行时,发现还处于初始化阶段,刚初始化到Pending阶段时(也有可能是已经初始化到后面了,我没反应过来),系统就跳出弹窗:Unable to enter critical section,我但是也是感到很奇怪,怎么突然就报错了?我又运行了一次在脚本生成器中有运行了一次,并没有报错!但是在控制器中一运行就会报错。我开始怀疑控制器坏了?为了验证控制器有没有坏了,我用其他的脚本场景跑,并没有出现这种错误!然后我在控制面板中尝试修复一下LoadRunner,修复完成后,运行还是这个错误!那就说明不是控制器有问题!
于是我又想着应该是设计场景时出错了,我开始检查场景配置,并没有发现出什么问题。我我查看了一下错误信息显示错误码是:-19797,详细错误信息是:Error: Vuser compilation failed. Please set CCIDebug to Off in CCI section of mdrv.dat file.好像要我在脚本中找一个脚本mdrv.dat的文件,并将CCI部分的CCIDebug的值设置为Off,可是我找了半天都没找到这个文件。于是我又开始上网找,依旧没找到有用的方法。
我看在控制器中没有解决问题,于是想着通过修改脚本看看能不能解决,因为我记得在录制脚本前我勾选了支持utf-8编码格式,有没有可能是因为这个?
因为我录制的脚本是有中文的,所以如果不勾选,录制出来的脚步就会出现乱码的情况,所以才勾选了这个,不然我看不懂这个脚本的内容,所以我发现乱码后又重新录制,新录制后并完善好脚本后再去控制器中设置场景。
勾选前:
勾选后:
然后就不行了,所以我尝试着去掉勾选。
再次进行录制,即使出现乱码,我也不管了,然后到控制器中去运行,运行成功!后面我又多方面测试,发现就是勾选了支持utf-8编码格式导致的问题!不过一般情况下勾选支持utf-8是不会导致控制器运行不了的,可能是因为你的脚本请求中恰巧包含了中文名。
总结:运行控制器时提示Unable to enter critical section;在查看错误信息是,错误码是:-19797,详细的错误信息是:Error: Vuser compilation failed. Please set CCIDebug to Off in CCI section of mdrv.dat file. 是因为你勾选了支持utf-8,去掉后重新录制脚本即可。