如何检测Java中的无限循环?

时间:2015-06-13 02:28:01

标签: java infinite-loop

我运行Java程序,它很长时间没有结束。我想这可能是代码中的无限循环,但我无法看到代码(无法对其进行修改)。

如何判断它是否处于无限循环中?

这是一个面试问题,我的回答是判断PC(程序计数器)是否循环。但面试官给了我提示use stack and heap of that program ......

2 个答案:

答案 0 :(得分:3)

理论上,你不能。这就是暂停问题。

实际上,您可以检查调用堆栈中的周期。一旦内存耗尽并转储堆栈跟踪,Java就会崩溃。单调乏味,可能有用。

答案 1 :(得分:-9)

我认为你可以使用try / catch方法。

离。

尝试{

} catch(例外e){     System.err.println(" Infinte Loop Detcted:");