kittylc 发表于 2009-10-16 18:19:29

请教:怎么解决Error -- memory violation : Exception ACCESS_VIOLATION received

我录制了一个关于登录的脚本,想check一下登录执行的状态,
在login Action里定义了这样的变量:

intstatus_login; //用于判断登录是否执行成功

status_login = web_submit_data("pkmslogin.form",
                "Action=https://w3.ibm.com/pkmslogin.form",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=https://w3.ibm.com/w3login.html?returnUrl=/wps/myportal",
                "Snapshot=t487.inf",
                "Mode=HTTP",
                ITEMDATA,
                "Name=username", "Value={Username}", ENDITEM,
                "Name=password", "Value={Password}", ENDITEM,
                "Name=login-form-type", "Value=pwd", ENDITEM,
                "Name=submitButton", "Value=Submit", ENDITEM,
                "Name=cancelButton", "Value=", ENDITEM,
                "Name=resumeSession", "Value=true", ENDITEM,
                "Name=returnurl", "Value=%2Fmyportal", ENDITEM,
                LAST);

if (status_login == 0) {
                lr_log_message("登录成功!%s");
        }
以上三部分代码是选择中间关于检查执行状态的,并非所有的脚本。
把检查执行状态的语句,即上面的三部分代码去掉后,就OK了。
我用单步跟踪时发现出错的地方就在这里:“if (status_login == 0) {”。报的错为:
login.c(534): Error: C interpreter run time error: login.c (534):Error -- memory violation : Exception ACCESS_VIOLATION received.
login.c(534): Notify: CCI trace: login.c(534): lr_log_message(0x010a3497)
login.c(534): Notify: CCI trace: Compiled_code(0): login()
不太理解这里为什么会报错呢? web_submit_data返回一个INT类型,我存到status_login中,再通过判断status_login的值,status_login为0(LR_PASS)时,就应该是执行成功的,可是为什么又不对呢?
请各位指教一下, 谢谢!

[ 本帖最后由 kittylc 于 2009-10-16 19:05 编辑 ]

kittylc 发表于 2009-10-17 21:43:57

终于发现问题在哪里了,
if (status_login == 0) {
                lr_log_message("登录成功!%s");
      }

改成
if (status_login == 0) {
                lr_log_message("登录信息:%s","登录成功!");
      }
就好了。

cexowyc 发表于 2009-10-18 01:35:24

感谢分享

ganlan 发表于 2010-8-16 09:48:26

分享经验,要顶一把!
这类问题出现不少,解决办法好像不多。
页: [1]
查看完整版本: 请教:怎么解决Error -- memory violation : Exception ACCESS_VIOLATION received