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

发布于 2024-11-03 09:23:03 字数 120 浏览 1 评论 0原文

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

Ok, so I've got a genetic algorithm running in netbeans, and its been running for like 5 hours and seems to have entered an infinite loop. Is there any way that I can attach a debugger to it? or at least get some clue as to where it is in the code? I'd rather not sit around for another 5 hours while I wait for it to happen again.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

缪败 2024-11-10 09:23:03

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

使用 jps找出 JVM 的 id,然后使用带有该 ID 的 jstack

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

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

A simple way to get some basic information from your running program is to run jstack on it, it will print stack traces of all threads in your code. Do that several times and you should have a good idea what is wrong.

Use jps to find out the id of your JVM like and then use jstack with that ID:

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

VisualVM provides similar information, if you prefer a GUI application.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文