我怎样才能找到程序停滞的原因?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我怎样才能找到程序停滞的原因?相关的知识,希望对你有一定的参考价值。
我正在处理一个控制汽车的程序。该计划规模相当大,由其他人制作。所以我完全不明白它是如何工作的。但我必须应用它并使汽车移动。
我面临的问题是程序经常停顿,没有错误,没有分段。
如果它崩溃了,我可以用gdb或类似的东西追踪原因。
但它没有崩溃,它默默地停止。
我怎样才能找到原因?
答案
从你的描述 - 程序默默地停止 - 我知道你的程序简单而优雅地退出,但不是从你预期的流程。
这可能由于多种原因而发生 - 例如,您的程序可能会进入非法流程,并且某些子组件(例如标准库或其他库)决定程序应该退出,因此调用c-runtime exit()
或直接调用Kernel32!ExitProcess()
。
调试此流程的最佳方法是附加调试器并在这两种方法上设置断点,并找出谁在调用它们。
如果你的意思是你的程序进入死锁并暂停,那么你还需要附加一个调试器并找出谁被卡住了。
以上是关于我怎样才能找到程序停滞的原因?的主要内容,如果未能解决你的问题,请参考以下文章