社区
网络编程
帖子详情
程序隔几天就会死掉的问题
zzwinds
2004-11-12 11:29:07
我有一个服务器程序,vc写的,从另一个程序中接收数据,做了处理,转发给另一个程序,数据处理那里是多线程的。
如果服务器重启以后,则可以连续运行4,5天,然后程序会死掉,然后基本每隔1,2天会死,没有任何提示。
这种问题一般应该往哪个方向找原因?
...全文
207
18
打赏
收藏
程序隔几天就会死掉的问题
我有一个服务器程序,vc写的,从另一个程序中接收数据,做了处理,转发给另一个程序,数据处理那里是多线程的。 如果服务器重启以后,则可以连续运行4,5天,然后程序会死掉,然后基本每隔1,2天会死,没有任何提示。 这种问题一般应该往哪个方向找原因?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zzwinds
2004-11-18
打赏
举报
回复
找到问题了,是内存引用错误引起的
谢谢各位
phoenixandlinda
2004-11-12
打赏
举报
回复
"也不应该是程序死掉吧,而是自动退出,没有提示就自动退出了"
通常是内存泄漏,堆栈溢出导致系统出错。
zzwinds
2004-11-12
打赏
举报
回复
也不应该是程序死掉吧,而是自动退出,没有提示就自动退出了
zzwinds
2004-11-12
打赏
举报
回复
内存和cpu使用都正常,死之前也没有任何异常现象
phoenixandlinda
2004-11-12
打赏
举报
回复
最好用日志跟踪所有文件、内存、事件及atom对象。
kingzai
2004-11-12
打赏
举报
回复
服务器程序开发最重要就是处理内存问题。
检查内存泄漏和异常,写日志文件。必要时写个监控程序将服务进行重启
sunhuiNO1
2004-11-12
打赏
举报
回复
程序是如何死掉的?
如果是界面没有刷新,那估计是有死锁。
如果CPU占用很高,那是死循环,
如果自动退出,可能是栈用光了,
如果是没有响应,可能是指针操作有问题等等,这个最难找问题。
lsgt
2004-11-12
打赏
举报
回复
看看内存
techmaster
2004-11-12
打赏
举报
回复
1、先确定不是由编码疏忽引起的程序的正常退出。(非常重要)
2、检查所有动态分配内存的地方是否正确回收、如果用到了COM还要检查类似BSTR这种内部分配资源的回收是否正确执行。
3、向程序的重要且易出错步骤中添加调试代码,可以检查各种重要变量、内存、处理器状态,试图跟踪这些步骤。
4、在vc中让程序在调试环境下运行,直到程序死去后,检查调试环境的信息。
5、注掉被你怀疑的易出错步骤,测试执行,如果没有错误了,再仔细查找被注掉的部分。
6、如果在使用上述办法之后还不能够找到错误,且老板又必须让你找到错误的话。可以考虑重新编写或离职。
sunhuiNO1
2004-11-12
打赏
举报
回复
编译器有设置的,不同版本的设置的地方不一样,你好好找找,同时看看帮助,
zzwinds
2004-11-12
打赏
举报
回复
sunhuiNO1(2B):怎样把编译器分配的栈调大一些?
iorikingdom
2004-11-12
打赏
举报
回复
我很怕这种情况出现~~~
就是修改代码都不知道从哪里修改~~~
只有祝楼主好运了
gdy119
2004-11-12
打赏
举报
回复
资源用尽,肯定有地方内存使用不当,
或者调用系统资源过多!
Caps77
2004-11-12
打赏
举报
回复
遇到这种问题我深表同情,修改了代码要3,4天以后才能进行一次测试!
你可以用任务管理器来查看内存的使用情况(设置一下查看列表就行)
实在找不到bug,用“代码屏蔽法”逐个排除那将是非常非常痛苦的问题了
oyljerry
2004-11-12
打赏
举报
回复
哦,没什么异常就退出了,主要还是检查一下内存的一些操作
qrlvls
2004-11-12
打赏
举报
回复
资源问题
zzwinds
2004-11-12
打赏
举报
回复
那应该是堆栈的问题了,谢谢各位的热心回答,我会再查查资料的
sunhuiNO1
2004-11-12
打赏
举报
回复
自动退出应该不是内存泄露,因为楼主说内存使用正常,估计是一些内核对象使用有问题或者
堆栈用光,开始可以把编译器分配的栈调大一些,再看看有没有改善,同时查查有没有同步问
题。
SQL Server数据量大导致的
程序
死
掉
SQL SERVER数据量大导致MES
程序
出现无响应和
死
掉
shell 怎么杀
掉
死
循环_Shell实现
程序
造
死
循环的几种方法示例
Shell实现
程序
造
死
循环的几种方法示例前言有时候脚本中需要造个
死
循环,或者让
程序
一直运行下去,到某个条件方退出循环。对于熟悉C语言的猿人们来说,最简单的
死
循环应该这样写:while(1){//do something}或者你也可以用for语句和do...while语句来实现,这里就不说了!实现方法可是怎么在shell脚本中写
死
循环呢?这个时候同样用到while,归纳汇总了让Shell脚本一直运行...
tomcat项目启动后,
隔
一段时间不能运行
项目刚刚启动时能够正常运行,但是
隔
一段时间,就不能运行了. tomcat tomcat中如果被选中了。就
会
导致系统不响应,访问不了。 这两个不能被勾上
程序
原因 内存泄漏,导致
程序
假
死
JVM 设置的太小 数据库连接池 查看一下线程数量 查看JVM参数 JVM 设置的太小 ./tomcat/bin/ catalina.sh 文件中 JAVA_OPTS="-server-Xms4...
Java中OutOfMemoryError(内存溢出)和Tomcat进程假
死
崩溃
接手一个老项目ssh+jdk6+tomcat6,年底申报信息的系统开始频繁使用了,之前没有暴露的
问题
显现出来了: 1、系统页面的响应时间变的很长。 2、偶尔
会
卡
死
,但等一
会
就好了,
隔
几天
会
突然挂
掉
。 3、tomcat有时
会
有日志显示GC失败和OutOfMemoryError。 根据以上信息初步判断是内存溢出了,查看了tomcat访问的日志,查看了相关代码中有很多for循环里new对象的操作,更改代...
现学现卖微信小
程序
开发(三):引入“Rx”,为小
程序
插上翅膀
引入“Rx”,为小
程序
插上翅膀 对于我这种“不用Rx
会
死
星人“来说,一个平台如果没有Rx,简直痛苦
死
了。所以一直在研究怎么把RxJS引入到微信小
程序
中,这
几天
终于有了阶段性成果,那“Rx”为什么加引号?嗯,这是个好
问题
,原因是。。。经过
几天
的艰苦奋战,我终于还是没有找到把RxJS库正确引入到微信小
程序
的方法。所以呢,我找了一个替代品:xstream ( https://github.com/
网络编程
18,359
社区成员
64,164
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章