代码中罕见的无限循环,不想等待它再次发生

时间:2011-04-22 07:33:07

标签: java netbeans loops debugging infinite

好的,所以我有一个在netbeans中运行的遗传算法,它运行了5个小时,似乎进入了无限循环。有什么方法可以附加调试器吗?或者至少得到一些关于它在代码中的位置的线索?在我等待它再次发生的时候,我宁愿不再坐5个小时。

1 个答案:

答案 0 :(得分:9)

从正在运行的程序中获取一些基本信息的一种简单方法是在其上运行jstack,它将打印代码中所有线程的堆栈跟踪。做了好几次,你应该知道出了什么问题。

使用jps查找您的JVM的ID,然后将jstack与该ID一起使用:

$ jps
10664 Jps
7141 org.eclipse.equinox.launcher_1.2.0.v20110124-0830.jar
$ jstack 7141
如果您更喜欢GUI应用程序,

VisualVM会提供类似的信息。