首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

服务程序卡死原因,该如何解决

2012-03-21 
服务程序卡死原因vs写的一个 atl 服务exe。其中有关网络数据接入解析。有时候会出现程序死了的状况。找不到原

服务程序卡死原因
vs写的一个 atl 服务exe。
其中有关网络数据接入解析。有时候会出现程序死了的状况。找不到原因。向大家请教,有没类似的情况及解决方法?

是跑在 windows 2003上。很奇怪是线程数都没有减少,日志也没有显示线程退出的报告。但是确实是那些线程不工作了。
出现了两次,现在有的信息还都很少。这两次出现情况前都蹭有过主动将与对方连接的套接字(我方为tcp客户端)断掉重连,而且日志显示重连是成功的。过后就再也没动静了。不确定是这个诱因,因为重连后程序仍正常的也有。
出现问题时,内存、虚拟内存均不变动(平时波动的也不大)。cpu利用率始终为0,线程数很平时一样,句柄数也不再变动。

唉,晕倒啊。。。

[解决办法]
不懂,不过还是帮顶了!
[解决办法]
先这样,你把几个主要函数用try catch罩一下,看看有没有异常,说不定是那个不起眼的越界造成的呢……

不用太细,一个函数用一个try就行。

定位到错误再深入
[解决办法]
是不是线程死锁了?
有没有调用栈,把Stack调出来看看
[解决办法]
看看是不是哪死锁了,或者是不是在等待啥输入。

直接用调试器附上去,看看那些线程停在哪里了。
[解决办法]
开始的问题一半是锁,或者无限循环
[解决办法]
先netstat -an看下网络连接情况
你所说的卡死是啥概念? 你不是说CPU为0吗
还是说程序没返回?是不是哪里阻塞住了?
[解决办法]
所谓服务还不都是无限循环,你在循环的地方打印然后看结果不就知道谁不行了

热点排行