0

我正在使用 YourKit Java 分析器来查找一些 Java 代码中的 CPU 占用点。我没有 Java 类的原始源代码,所以我一直在反编译它以查看需要修复的内容。

反编译代码上的行号(使用 JD-GUI,我还没有用其他任何东西测试过)与 YourKit profiler CPU 采样窗口中显示的行号不一致。

是否有可用的反编译器将原始源文件行号与反编译代码匹配?

正如您在下面看到的,EnergyNetwork.getAcceptors() 的输出行号是第 86 行。然而,在 JD-GUI 中,它显示第 86 行是一个列表。

YourKit 输出 反编译器输出

4

1 回答 1

0

只要代码没有被混淆,我在 JD-GUI 中使用的(外部)代码取得了很好的结果。你试过最新版的 JD-GUI 吗?只是一个想法:你得到的代码是不是很合适,可以再次编译?这样,您可能可以更好地控制代码到源的映射,最终无论如何这都是必要的,因为您想解决性能问题。

于 2015-01-18T15:22:26.520 回答