我怎样才能找到程序停滞的原因?

问题描述 投票:0回答:1

我正在处理一个控制汽车的程序。该计划规模相当大,由其他人制作。所以我完全不明白它是如何工作的。但我必须应用它并使汽车移动。

我面临的问题是程序经常停顿,没有错误,没有分段。

如果它崩溃了,我可以用gdb或类似的东西追踪原因。

但它没有崩溃,它默默地停止。

我怎样才能找到原因?

linux debugging segmentation-fault controls
1个回答
1
投票

从你的描述 - 程序默默地停止 - 我知道你的程序简单而优雅地退出,但不是从你预期的流程。 这可能由于多种原因而发生 - 例如,您的程序可能会进入非法流程,并且某些子组件(例如标准库或其他库)决定程序应该退出,因此调用c-runtime exit()或直接调用Kernel32!ExitProcess()。 调试此流程的最佳方法是附加调试器并在这两种方法上设置断点,并找出谁在调用它们。 如果你的意思是你的程序进入死锁并暂停,那么你还需要附加一个调试器并找出谁被卡住了。

© www.soinside.com 2019 - 2024. All rights reserved.