jlink命令行参数--strip-debug有什么作用?

jlink的文档中,您可以阅读:

从输出映像中剥离调试信息

但是,这有什么意义呢?哪种调试信息将被删除?我可以想到stacktrace的行号。就是这个意思吗

最佳答案

我相信它更多是为了摆脱调试符号,该调试符号应包括行号(是),局部变量详细信息以及可能生成的字节码中的注释,例如:

public com.some.pack.ReferenceVariableSample();
  Code:
    0: aload_0
    1: invokespecial #1                  // Method java/lang/Object."<init>":()V
    4: return

我自己还没有尝试过,但是您可以Check if Java bytecode contains debug symbols并将其与通过jlink使用--strip-debug创建的运行时映像进行比较。

10-04 11:39