• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:03-18

按键精灵安卓版
立即下载

软件版本:3.3.6
软件大小:62.5M
更新时间:01-16

按键精灵iOS版
立即下载

软件版本:1.6.0
软件大小:29.2M
更新时间:07-29

最新企业版UiBot
立即下载

软件版本:3.3
软件大小:282M
更新时间:08-06

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
发新话题 回复该主题

[心得] 异常执行崩溃的错误汇总 [复制链接]

1#
本帖最后由 兄弟工程师07 于 2014-5-5 15:43 编辑

点击返回总目录
代码出错的时候要学会自我排查错误原因,不止可以尽快找到错误的地方,从而认识到错误的原因,并在今后编写脚本中也可以提早避免再犯。

出错时:建议您对脚本进行完善的调试测试,在所有关键咨询步骤加入日志功能,测试时记录下脚本的运行位置,在异常崩溃的时候记录下当时执行到的位置,多次后即可确认异常部位的代码,然后进行排查错误原因。

崩溃的原因大致有以下几种可能,您也可以往这方面排查下。

1、代码结构混乱,Goto跳转随意从一个Sub或Function跳出或跳转到另一个Sub或Function里,有几率造成内存积压导致崩溃。(根据情况一般影响较小,运行三五天可能都没事,就影响些脚本运行速度;此外Goto跳转简单方便快捷也会导致您不考虑整体代码的结构问题,你们没觉得一个写完的脚本如果要大改,稍不留神可能导致整个脚本瘫痪吗?为什么不试着想想模块化处理?更新就换个零件而已。百度百科:http://baike.baidu.com/view/1363088.htm

2、互相调用Sub或Function,具体例子看:showtopic.aspx?topicid=312936&forumpage=1&page=1

3、多线程开启过多(三四十以上或更多,系统资源不足),执行的命令存在互相冲突的等情况。

4、目前测试确认环境变量全局变量(DimEnv、Global)存在一个BUG,每当对环境变量进行赋值并修改其变量值时,会占用一点内存,由于自动释放较为缓慢,如果频繁赋值修改将会造成内存积压,最终内存溢出崩溃。(期间也会渐渐影响脚本运行效率)
暂时解决方式:把全部环境变量传值方式取消,使用File插件把相关值写到本地ini文件中进行读取写入。

5、此外多个子线程启动的时候,最好在执行 BeginThread(子线程)后加个延时1~3秒,然后再继续执行后面代码,以免过快启动线程导致异常崩溃。

6、是否有调用第三方插件,部分有应用到内存方面调用,如大漠的后台绑定等功能,如命令用法不规范正确,胡乱重复绑定或模式不对,或者插件只适合在WIN7系统下运行的,确放在XP系统中运行。(这种情况较多)。

7、Call Plugin.Msg.Tips("我是气泡···气泡!哦也") 该命令执行时也会造成内存积压,最终崩溃,大约时间在1~3天左右。(看执行频率)

推荐:脚本主线循环结构框架演示
showtopic.aspx?topicid=380830&forumpage=1&page=1

后续会继续补充……

    已有3评分我要评分查看所有评分

    2#

    你好,我的会员账号咋登陆不了

    发新话题 回复该主题