Rare infinite loop in code, don't want to wait for it to happen again
Ok, so I've got a 开发者_StackOverflowgenetic 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.
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.
精彩评论