C语言程序假死(不工作),求调试方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言程序假死(不工作),求调试方法相关的知识,希望对你有一定的参考价值。
我有一个C语言工程,编译后运行几天就会出现有一分钟以内的假死现象,这段时间内不工作,我是通过日志看出来的,之后又恢复正常,由于不定时出现和出现时间短的原因,无法捕获到有用的信息,只从代码层面上看也看不出来,有没有什么调试方法或者分析方法希望大家给提供一些,万分感谢!
参考技术A 明显是代码问题,如果是多线程检查一下线程的逻辑顺序,如果是单线程检查一下内存泄漏和越界问题 参考技术B 网gdb会用吗?先运行一次,记录假死的时候程序运行到哪一行,设断点,然后单步追踪,看数据的情况,有没有异常
把程序从server拷出来 到网吧去调试 参考技术C 再假死时,记录下CPU的情况
根据CPU情况,再看各个线程情况,逐步定位到细节。追问
程序在服务器上运行,基本出问题以后才知道,而且时间短根本来不及。
追答既然你都从日志里知道是假死了,那么在假死判断的分支里增加CPU记录。
因为现在你都不清楚CPU是繁忙还是等待信号闲置状态。
总之先搞些信息来才能一步步定位啊
程序在服务器上运行,基本出问题以后才知道,而且时间短根本来不及。
以上是关于C语言程序假死(不工作),求调试方法的主要内容,如果未能解决你的问题,请参考以下文章