使用gdb和codelite在C ++中调试无限循环

时间:2012-06-01 21:07:45

标签: c++ gdb codelite

我有一个非常大的代码,当我尝试在codelite中运行它时,codelite界面变得无响应,我必须杀死它。这通常发生在无限循环的情况下。

我试图在代码的多个位置放置断点以找到问题,但到目前为止还没有运气。从我开始运行程序开始一段时间后执行暂停。检测这种无限循环的最佳方法是什么? Codelite没有“停止”按钮AFAIK。

修改 我最后添加了很多cout语句,并在终端而不是gdb中运行可执行文件。这有助于在很长一段时间后找到该计划正在做的事情。

1 个答案:

答案 0 :(得分:2)

最简单的方法是运行代码一段时间,然后使用调试器暂停执行而不使用断点。如果运气好的话,调用堆栈应该表明您遇到的代码位。

如果不这样做,您将需要使用日志记录语句来编写代码。