TC官方合作论坛

 找回密码
 立即注册
查看: 2025|回复: 17
打印 上一主题 下一主题

[已解决] 大神进来看下,线程总是停止,卡住不动。

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-20 09:58:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 528522861 于 2015-1-31 16:08 编辑

我是新手,不知道怎么表达情况,就是这样运行10分钟--4个小时,功能 巡标签页()就卡死了,为了查找原因,我用一个时钟,每秒取以下几个功能的句柄值,因为每个功能运行结束前都加了一句,句柄=0的代码,所以只要功能结束句柄就为0如图

运行一段时间后,辅助停止运行了,巡标签页句柄不等于0有数字,说明线程运行了但没结束,日志也表明运行他之前的功能已经结束,就是进入此功能时卡住了
功能 巡标签页()内也有写日志功能,进入功能后就是写日志,但故障发生时日志并没有写,说明进巡标签页功能就卡在那里了。故障时没有任何提示。
有一次功能结果功能也出现过类似现象,就停止了,tc版本4.431,昨天晚上用4.310也是如此
大神们帮看看是什么原因呢?
---------------------------------------------------------------------------------------------------------------------
功能 巡标签页()
    //写日志“此功能开始”//
辅助.等待(1000)
    如果(编辑框.获得文本("编辑框3")==""&&编辑框.获得文本("编辑框16")=="")
        标签.设置文本("标签11","准备进入第1标签页")//这句代码的意思是在辅助界面上有个编辑框,显示状态
        打开标签1句柄=线程.开启("游戏.打开标签1","")

    否则
        如果(编辑框.获得文本("编辑框4")==""&&编辑框.获得文本("编辑框15")=="")
            标签.设置文本("标签11","准备进入第2标签页")
            打开标签2句柄=线程.开启("游戏.打开标签2","")

        否则
            如果(编辑框.获得文本("编辑框5")==""&&编辑框.获得文本("编辑框14")=="")
                标签.设置文本("标签11","准备进入第3标签页")
                打开标签3句柄=线程.开启("游戏.打开标签3","")

            否则
                如果(编辑框.获得文本("编辑框6")==""&&编辑框.获得文本("编辑框13")=="")
                    标签.设置文本("标签11","准备进入第4标签页")
                    打开标签4句柄=线程.开启("游戏.打开标签4","")

                否则
                    如果(编辑框.获得文本("编辑框7")==""&&编辑框.获得文本("编辑框12")=="")
                        标签.设置文本("标签11","准备进入第5标签页")
                        打开标签5句柄=线程.开启("游戏.打开标签5","")

                    否则
                        如果(编辑框.获得文本("编辑框8")==""&&编辑框.获得文本("编辑框11")=="")
                            标签.设置文本("标签11","准备进入第6标签页")
                            打开标签6句柄=线程.开启("游戏.打开标签6","")

                        否则
                            如果(编辑框.获得文本("编辑框9")==""&&编辑框.获得文本("编辑框10")=="")
                                标签.设置文本("标签11","准备进入第7标签页")
                                打开标签7句柄= 线程.开启("游戏.打开标签7","")

                            否则
                                进入下一关句柄=线程.开启("游戏.进入下一关","")
                            如果结束

                        如果结束
                    如果结束
                如果结束
            如果结束

        如果结束
    如果结束

    进程.释放内存()//因为有人说释放内存可以改善,但添加此代码也不行,还是卡死
    巡标签页句柄=0

功能结束
-------------------------------------------------------------------------
功能 打开标签1()//运行1分钟左右,下面的几个功能和这个一样的写日志“此功能开始”
此处是功能代码省略了
打开结果句柄=线程.开启("游戏.结果","")
打开标签1句柄=0
写日志“此功能结束”
功能结束-----------------------------------------------------------------------
功能 打开标签2()
写日志
此处是功能代码省略了
打开结果句柄=线程.开启("游戏.结果","")
打开标签2句柄=0
功能结束
-----------------------------------------------------------------------
功能 打开标签3()
写日志
此处是功能代码省略了
打开结果句柄=线程.开启("游戏.结果","")
打开标签3句柄=0
功能结束
-----------------------------------------------------------------------
功能 打开标签4()
写日志
此处是功能代码省略了
打开结果句柄=线程.开启("游戏.结果","")
打开标签4句柄=0
功能结束
-------------------------------------------------------------------
功能 打开标签5()
写日志
此处是功能代码省略了
打开结果句柄=线程.开启("游戏.结果","")
打开标签5句柄=0
功能结束
----------------------------------------------------------------------------
功能 打开标签6()
写日志
此处是功能代码省略了
打开结果句柄=线程.开启("游戏.结果","")
打开标签6句柄=0
功能结束
------------------------------------------------------------------------------
功能 打开标签7()
写日志
此处是功能代码省略了
打开结果句柄=线程.开启("游戏.结果","")
打开标签7句柄=0
功能结束
-------------------------------------------------------------------------------
功能 结果()  //【此功能结束后进入巡标签页功能】
写日志“此功能开始”
此处是功能代码省略了
巡标签页句柄=线程.开启("游戏.巡标签页","")
写日志“此功能结束”
打开结果句柄=0

功能结束
感谢各位的热心帮助,现在辅助运用17个小时没停止了,估计是没问题了,我在继续实验中,什么原因我也不清楚,好像和编辑框里的内容有关系,比如0和空 做判断,我改成0和1做判断,还有就是金山卫士也有关系,卸载了。
最佳答案给第一个回复我的人吧,祝你们天天开心。








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

18#
发表于 2015-6-24 17:32:40 | 只看该作者
回复 支持 反对

使用道具 举报

17#
 楼主| 发表于 2015-1-31 16:06:13 | 只看该作者
感谢各位的热心帮助,现在辅助运用17个小时没停止了,估计是没问题了,我在继续实验中,什么原因我也不清楚,好像和编辑框里的内容有关系,比如0和空 做判断,我改成0和1做判断,还有就是金山卫士也有关系,卸载了。
最佳答案给第一个回复我的人吧,祝你们天天开心。
回复 支持 反对

使用道具 举报

16#
 楼主| 发表于 2015-1-31 15:59:43 | 只看该作者
zyfllz 发表于 2015-1-28 00:32
如果嵌套太多,容易出错,而且每次执行的话,都是一步一步的,太耗资源.
建议使用选择语句(是如果语句的升级版 ...

选择这么判断两个编辑框内,的内容?
回复 支持 反对

使用道具 举报

15#
 楼主| 发表于 2015-1-29 08:30:55 | 只看该作者
zyfllz 发表于 2015-1-28 17:44
是不是您的电脑内存满了? 定时清理内存试一试了..

内存我还没仔细看,我用的是虚拟机,给了虚拟机1.888gb内存,主机是8gb内存,我研究下,
回复 支持 反对

使用道具 举报

14#
 楼主| 发表于 2015-1-29 08:27:38 | 只看该作者
zyfllz 发表于 2015-1-28 17:40
您这种情况可能是线程互相抢资源,您使用临界区试一试了..

临界区,我学习一下,谢谢你的回答,
回复 支持 反对

使用道具 举报

13#
发表于 2015-1-28 17:44:09 | 只看该作者
zyfllz 发表于 2015-1-28 17:40
您这种情况可能是线程互相抢资源,您使用临界区试一试了..

是不是您的电脑内存满了? 定时清理内存试一试了..
回复 支持 反对

使用道具 举报

12#
发表于 2015-1-28 17:40:50 | 只看该作者
528522861 发表于 2015-1-28 13:40
代码已经改了,现在是过3---5小时之间还是停止,停止的线程,不止一个,总是在这个线程结束,调用另外一 ...

您这种情况可能是线程互相抢资源,您使用临界区试一试了..
回复 支持 反对

使用道具 举报

11#
 楼主| 发表于 2015-1-28 13:40:18 | 只看该作者
zyfllz 发表于 2015-1-28 00:32
如果嵌套太多,容易出错,而且每次执行的话,都是一步一步的,太耗资源.
建议使用选择语句(是如果语句的升级版 ...

代码已经改了,现在是过3---5小时之间还是停止,停止的线程,不止一个,总是在这个线程结束,调用另外一个线程的时候,被调用的线程崩溃停止,我人已经崩溃了,
回复 支持 反对

使用道具 举报

10#
发表于 2015-1-28 00:32:14 | 只看该作者
如果嵌套太多,容易出错,而且每次执行的话,都是一步一步的,太耗资源.
建议使用选择语句(是如果语句的升级版呵呵,功能十分强大,熟悉之后就喜欢用了),呵呵
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-12-29 06:09 , Processed in 0.105081 second(s), 25 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表