2

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

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

编辑: 我最终添加了很多 cout 语句并在终端而不是 gdb 中运行可执行文件。这有助于在很长一段时间后找到程序在做什么。

4

1 回答 1

2

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

如果失败,您将需要在代码中添加日志记录语句。

于 2012-06-01T21:11:21.330 回答