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

wfb*_*ale 3 java debugging netbeans loops infinite

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

Joa*_*uer 9

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

使用jps找出您的JVM喜欢的ID,然后使用jstack该ID:

$ jps
10664 Jps
7141 org.eclipse.equinox.launcher_1.2.0.v20110124-0830.jar
$ jstack 7141
Run Code Online (Sandbox Code Playgroud)

如果您更喜欢GUI应用程序,VisualVM会提供类似的信息.