Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java YourKit配置文件和行号_Java_Profile_Decompiling_Line Numbers_Yourkit - Fatal编程技术网

Java YourKit配置文件和行号

Java YourKit配置文件和行号,java,profile,decompiling,line-numbers,yourkit,Java,Profile,Decompiling,Line Numbers,Yourkit,我正在使用YourKit Java探查器查找一些Java代码中占用CPU的地方。我没有Java类的原始源代码,因此我一直在对其进行反编译,以查看需要修复的内容 使用JD-GUI反编译代码上的行号,我还没有使用任何其他工具进行测试,但与YourKit profiler CPU采样窗口中显示的行号不一致 是否有一个反编译器可以将原始源文件行号和反编译代码匹配起来 如下所示,EnergyNetwork.getAcceptors的输出行号为第86行。然而,在JD-GUI中,第86行显示为一个列表 我对

我正在使用YourKit Java探查器查找一些Java代码中占用CPU的地方。我没有Java类的原始源代码,因此我一直在对其进行反编译,以查看需要修复的内容

使用JD-GUI反编译代码上的行号,我还没有使用任何其他工具进行测试,但与YourKit profiler CPU采样窗口中显示的行号不一致

是否有一个反编译器可以将原始源文件行号和反编译代码匹配起来

如下所示,EnergyNetwork.getAcceptors的输出行号为第86行。然而,在JD-GUI中,第86行显示为一个列表


我对JD-GUI使用的外来代码有很好的效果,只要代码没有混淆。您是否尝试了最新版本的JD-GUI?
还有一个想法:您得到的代码是否非常适合再次编译?通过这种方式,您可以更好地控制代码到源代码的映射,并且最终这将是必需的,因为您希望解决性能问题。

我将对此进行测试,然后返回给您,确认它对行号没有明显的影响。看起来代码没有混淆。方法和变量的名称非常漂亮。只是一个粗略的猜测:可能是Arrays.asList和getacceptor所做的任何事情导致了这个问题?那么,所提到的那一行是正确的,分析器只显示周围方法的名称,因为他无法显示特定的代码行?也许您应该检查第167行和第149行中的内容。它们是否包含方法名或语句?我已经检查了它们,第149行是if语句,第167行不可见我猜是因为反编译器无法识别它是哪一行号