若要在类文件中保存名称以供调试,请尝试Project Projts、Java编译器,然后“向生成的类文件添加变量属性”(参见
Eclipse Help
)
编译以下源:
public class StackOverflowTest {
public void test(String foo, String bar) {
// blah
}
}
分解为:
// Compiled from StackOverflowTest.java (version 1.5 : 49.0, super bit)
public class StackOverflowTest {
// Method descriptor #6 ()V
// Stack: 1, Locals: 1
public StackOverflowTest();
0 aload_0 [this]
1 invokespecial java.lang.Object() [8]
4 return
Line numbers:
[pc: 0, line: 1]
Local variable table:
[pc: 0, pc: 5] local: this index: 0 type: StackOverflowTest
// Method descriptor #15 (Ljava/lang/String;Ljava/lang/String;)V
// Stack: 0, Locals: 3
public void test(java.lang.String foo, java.lang.String bar);
0 return
Line numbers:
[pc: 0, line: 4]
Local variable table:
[pc: 0, pc: 1] local: this index: 0 type: StackOverflowTest
[pc: 0, pc: 1] local: foo index: 1 type: java.lang.String
[pc: 0, pc: 1] local: bar index: 2 type: java.lang.String
}
请参见参数名称保留在类文件中。
我建议您研究一下您的源代码是如何编译的,它是为哪个版本编译的,等等。
编辑:
啊,我看到这对接口来说是不同的——它们似乎没有这个信息可供调试器使用,我想这是有道理的。我不认为有办法解决这个问题,如果你只想在编辑源代码时看到参数名,你需要按照nagrom_的建议使用javadoc路由(附加源代码)。