社区
进程/线程/DLL
帖子详情
关于程序非法退出的问题 急 在线等待
jxw3000
2004-09-10 11:59:08
小弟的程序由于未知原因 2天一次非法退出,退出时没有任何提示或系统告警对话框
表面有点象程序正常退出。是哪方面原因引起的呢?请各位高手指点指点
...全文
120
13
打赏
收藏
关于程序非法退出的问题 急 在线等待
小弟的程序由于未知原因 2天一次非法退出,退出时没有任何提示或系统告警对话框 表面有点象程序正常退出。是哪方面原因引起的呢?请各位高手指点指点
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bohut
2004-09-10
打赏
举报
回复
可能有内存泄露吧
lionhart
2004-09-10
打赏
举报
回复
堆栈溢出 Stack Overflow
在Debug模式下会在退出之前显示出错信息
在VC中按F5启动应用程序即可
rwdx
2004-09-10
打赏
举报
回复
同意楼上,估计是内存访问错误
DentistryDoctor
2004-09-10
打赏
举报
回复
没有任何提示一般都是堆栈溢出之类的比如无穷归递。
还有可能就是内存使用不当。
allenq
2004-09-10
打赏
举报
回复
呵呵, 运行两天出错???
那肯定是有内存没有释放了, 慢慢找吧.
lixiaosan
2004-09-10
打赏
举报
回复
内存溢出,慢慢找吧
realmiss
2004-09-10
打赏
举报
回复
一般内存访问错误多一些
oyljerry
2004-09-10
打赏
举报
回复
试着用程序的debug调试一下,看能否发现问题
zhujianping_es
2004-09-10
打赏
举报
回复
内存泄露!!
Or
Resource leak such as the system resouces (EVENT,PEN,........)
高歌猛进2000
2004-09-10
打赏
举报
回复
如果是程序已经全面测试过了!那么很可能是内存分配问题!你可以看看,所有new 出来的内存是否在所有分支上都delete(或者是malloc/free).特别是程序中多次分配的内存!
roger_ding
2004-09-10
打赏
举报
回复
如果是release版,非法指针访问不一定有系统出错对话框的,建议用debug版运行试试,如果再有指针错误会出现提示框的
jxw3000
2004-09-10
打赏
举报
回复
如果有内存访问错误的话应该有系统告警等对话框的。
就是因为不知道哪方面有BUG,而且没法测试出来
flyelf
2004-09-10
打赏
举报
回复
在测试的时候还有某些分支没有测试过,问题一般都出在这些分支上,毕竟这些分支很少能够运行到
程序
退出
状态码
其实就可以根据子进程
退出
的状态推断。在上面的代码当中父进程执行的 wait 函数就是
等待
子进程的状态变化,当子进程
退出
的时候 wait 函数会返回,同时将子进程一些状态信息保存在 status 当中,然后我们就可以子进程传递给父进程最后的信息啦。在上面的例子当中
退出
码256的二进制表示 1_0000_0000 他和 255(二进制表示为1111_1111)进行与操作得到的结果为1_0000_000,低8位等于0000_0000,因此最终的
退出
码等于0。可以看到的
程序
的
退出
码是符号我们的预期的。
Linux下进程
退出
与
等待
(初学者必备)
一.进程的创建 之前在进程管理那篇博客里面已经讲过fork已经它是如何使用的,详细的可以去看之前的那篇博客。一个进程被创建OS需要做什么? 1.PCB(进程控制块)页表以及mm_struct 2.将父进程的一部分数据复制到子进程的中(代码和数据共享,前提不发生修改) 3.将子进程的PCB放入允许队列中让CPU调度。 下面我们来看一下代码: 1#include<iostream> 2 using namespace std; 3 #include<sys/
关于SIGPIPE导致的
程序
退出
关于SIGPIPE导致的
程序
退出
收集一些网上的资料,以便参考: http://blog.chinaunix.net/u2/69143/showart_1087349.html 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连
【Linux】进程终止&&进程
等待
阻塞的时候,没有跑父进程的代码,父进程如果是在阻塞状态去等子进程,父进程就是处于
等待
状态,并不会被CPU运行,让父进程
等待
实际是把父进程的PCB加入到
等待
队列当中,将父进程的状态从R状态变为S状态,当操作系统识别到子进程执行结束时,发现父进程在
等待
队列当中, 把父进程的PCB重新加入到运行队列中,然后执行后序的过程,获取子进程的
退出
结果。而对于父进程来说,子进程是需要被标识的,因为父进程创建子进程的目的是让其执行任务的,父进程只有知道了子进程的PID才能很好的对该子进程指派任务。可以查看子进程的
退出
码。
Linux系统下
程序
异常如何优雅的
退出
signal
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章