0

在调试期间我一直在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 进行散列。

如果我不在该行上使用断点,一切都会成功执行。

4

1 回答 1

0

要确定进程是否真的挂起或只是非常缓慢,您可以将分析器连接到进程并检查进程当前正在做什么。如果您没有配置文件,您可以转储线程转储并检查相应的堆栈跟踪。

后者可以在 Windows 系统上通过在进程正在运行的控制台中按 CTRL-Break 来完成(如果 Eclipse 是输出控制台)。在 Linux 或其他类 Unix 系统上,您可以通过发送kill -3 [PID of the Java process]. 然后转储转到 Java 进程的 STDOUT。

于 2017-09-03T19:18:58.767 回答