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
创建的运行时映像进行比较。