为什么使用断点 (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。
调试时在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。