为什么使用断点 (Eclipse) 跨过 SCrypt.generate() (Bouncy Castle Java API) 行会阻止调试过程?

Why stepping over the SCrypt.generate() (Bouncy Castle Java API) line using breakpoint(Eclipse) blocks the debugging process?

调试时在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 行时,调试被阻止,没有 proceed/respond,我将不得不终止调试。

这种行为的原因是什么?是因为SCrypt.generate方法吗?

我正在使用 Bouncy Castle Java API 进行哈希处理。

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

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

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