在调试期间,我一直在eclipse中按F6
public void method() {
Line 54: --------My breakpoint is here------
Line 55: -------Some line of code-----
Line 56: byte[] sCryptHash1 = SCrypt.generate(plaintextPassword.getBytes(), salt.getBytes(), 16384, 8, 1, 16);
--------Some more lines of code-----
}
当调试器行到达第56行时,调试被阻止,无法继续/响应,我将不得不终止调试。
这种行为的原因是什么?是因为SCrypt.generate方法吗?
我正在使用Bouncy Castle Java API进行哈希。
如果我不在那一行使用断点,那么一切都会成功执行。
要查明进程是否真的挂起了,或者只是非常慢,可以将探查器连接到进程,并检查进程当前正在做什么。如果您没有配置文件,您可以转储线程转储并检查相应的堆栈跟踪。
后者可以在Windows系统上通过在进程运行的控制台中按下CTRL Break来完成(在Eclipse的情况下,它是输出控制台(。在Linux或其他类似Unix的系统上,您可以通过发送kill -3 [PID of the Java process]
来转储它。然后转储进入Java进程的STDOUT。