4

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

4

1 回答 1

10

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

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

$ jps
10664 Jps
7141 org.eclipse.equinox.launcher_1.2.0.v20110124-0830.jar
$ jstack 7141

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

于 2011-04-22T07:34:56.620 回答