社区
进程/线程/DLL
帖子详情
线程突然莫名的退出了?
ivanwo
2009-10-19 05:22:40
程序中开了8个线程,其中各有4个线程的入口函数相同,没有需要同步的变量,在DEBUG下有TRACE()打印信息发现:在程序跑了20多分钟左右后,突然有一个线程不能正常打印出信息了,在该线程的入口函数while(1)内设置断点也没有中断,该线程好像突然退出了一样;而且每次调试发现退出的那个线程都一样,不过相同的是跑了一段时间后都只有一个线程退出,真是奇怪?不知大家有没有遇到过这种情况?谢谢!
...全文
1772
14
打赏
收藏
线程突然莫名的退出了?
程序中开了8个线程,其中各有4个线程的入口函数相同,没有需要同步的变量,在DEBUG下有TRACE()打印信息发现:在程序跑了20多分钟左右后,突然有一个线程不能正常打印出信息了,在该线程的入口函数while(1)内设置断点也没有中断,该线程好像突然退出了一样;而且每次调试发现退出的那个线程都一样,不过相同的是跑了一段时间后都只有一个线程退出,真是奇怪?不知大家有没有遇到过这种情况?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
winnuke
2009-11-11
打赏
举报
回复
代码贴出来吧,大家都在帮你乱猜。
evileagle
2009-11-10
打赏
举报
回复
不可能是异常,否则进程都退出了,估计是死锁了。。好好检查一下
Kevin_Perkins
2009-10-25
打赏
举报
回复
也许是线程函数处理中发生异常了,线程终止了。
我记得我曾在线程运行中显式调用TerminateThread,然后将线程句柄和ID都重新设置为0,下次通过判断这个句柄值来重新判断是否创建线程,但我发现无法工作。跟踪代码发现走到TerminateThread函数后就退出了,并没有设置句柄值为0。我想情况相似,应该是异常。在此也建议,不要显式调用TerminateThread。
jackzhhuang
2009-10-21
打赏
举报
回复
选菜单的Debug->Thread,看看有多少线程
fpcc
2009-10-21
打赏
举报
回复
死锁或数据处理有问题,这个可能性最大。
dijkstar
2009-10-21
打赏
举报
回复
1. 检查一下有无“冲栈”造成的莫名其妙的线程退出:strcpy、数组操作过下标;
2. 不断增加的内存没有释放,没有检测分配为NULL;
gg606
2009-10-20
打赏
举报
回复
[Quote=引用楼主 ivanwo 的回复:]
该线程好像突然退出了一样;而且每次调试发现退出的那个线程都一样,不过相同的是跑了一段时间后都只有一个线程退出,[/Quote]
这个线程到底结束了没有?如果结束了,调试时会报结束以及返回值!
bragi523
2009-10-20
打赏
举报
回复
是不是用到临界区?
死锁了?
muzizongheng
2009-10-20
打赏
举报
回复
不是死锁就是阻塞了.
WecanHuang
2009-10-20
打赏
举报
回复
在该线程的入口函数while(1)内设置断点也没有中断,该线程好像突然退出了一样;
有可能是该线程死循环或者阻塞了
felixchan
2009-10-20
打赏
举报
回复
lz,把那部分代码帖上来吧
我个人分析,也许不对:
1、查看下线程的优先级(这个可能性低)
2、程序中是否有阻塞代码,如WaitForSingleObject等地方
3、程序中是否在某个地方有死循环,如while,for等地方
4、实在不行,线程中每行TRACE一下
ziplj
2009-10-19
打赏
举报
回复
不会的
你线程内部都是些什么操作
ivanwo
2009-10-19
打赏
举报
回复
没有调用TeminateThread(),看不出程序有什么异常,不知是不是跟线程代码最末的sleep(20)有关系?
ziplj
2009-10-19
打赏
举报
回复
while(1)???
应该不会主动退出的
是不是哪有TeminateThread的调用
或者程序内部有异常 ???
解决pyqt5异常
退出
无提示信息的问题
主要介绍了解决pyqt5异常
退出
无提示信息的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
【全局变量会变】的原因&(全局数组内容异常)
全局变量的值会变的原因&(全局数组内容异常)。
java
线程
莫名
异常
退出
捕获异常信息我来教你一手
之前有同事说他的程序里的
线程
时常
莫名
退出
,日志中没有任何异常信息。 目前我知道的可以获取
线程
异常信息的方法主要有 1、Future<?>和ScheduledFuture<?>的get()方法 2、JAVA1.5之后支持的UncaughtExceptionHandler 1 Thread thread = new Thread(() -> {run方法内的代码块}); 2 thread.start(); 3 thread.setUncaughtExceptionHa
java
线程
意外
退出
_什么条件可能导致Java
线程
意外返回?
我正在开发的分布式多
线程
应用程序中出现了此问题,在分布式任务执行过程中,
线程
似乎随机返回.假定此应用程序中的每个
线程
都使用与下面的块相同的基本代码:public class ExecutionThread extends Thread{@Overridepublic void run(){while(true){try{//task submitter app dumps all Tasks in...
python
线程
启动就
退出
我整理的一些关于【Python】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/Hpqqk2Python
线程
启动就
退出
的原因与解决方案 多
线程
编程是现代软件开发中的一个重要部分,Python 提供了强大的
线程
支持。然而,在使用 Python 的 threading 模块时,...
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章