Debugging 未为接口生成Java调试信息

Debugging 未为接口生成Java调试信息,debugging,javac,named-parameters,Debugging,Javac,Named Parameters,我正在尝试使用-g:vars选项生成类文件。这对类来说很好,我得到的参数名与源代码中的一样。但这似乎不适用于接口 e、 g.接口 公共接口测试 { public abstract void doesntWork(String name, String last, int id); } =======生成========== // (version 1.6 : 50.0, no super bit) public abstract interface Test { // Meth

我正在尝试使用-g:vars选项生成类文件。这对类来说很好,我得到的参数名与源代码中的一样。但这似乎不适用于接口

e、 g.接口 公共接口测试

{
    public abstract void doesntWork(String name, String last, int id);
}
=======生成==========

//  (version 1.6 : 50.0, no super bit)
public abstract interface Test {

  // Method descriptor #4 (Ljava/lang/String;Ljava/lang/String;I)V
  public abstract void doesntWork(java.lang.String arg0, java.lang.String arg1, int arg2);
}
 public void doesntWork(java.lang.String name, java.lang.String last, int id);
    0  return
      Local variable table:
        [pc: 0, pc: 1] local: this index: 0 type: Test
        [pc: 0, pc: 1] local: name index: 1 type: java.lang.String
        [pc: 0, pc: 1] local: last index: 2 type: java.lang.String
        [pc: 0, pc: 1] local: id index: 3 type: int

public class Test
{
    public void doesntWork(String name, String last, int id) {}
}
=============仅生成显示的相关零件============

//  (version 1.6 : 50.0, no super bit)
public abstract interface Test {

  // Method descriptor #4 (Ljava/lang/String;Ljava/lang/String;I)V
  public abstract void doesntWork(java.lang.String arg0, java.lang.String arg1, int arg2);
}
 public void doesntWork(java.lang.String name, java.lang.String last, int id);
    0  return
      Local variable table:
        [pc: 0, pc: 1] local: this index: 0 type: Test
        [pc: 0, pc: 1] local: name index: 1 type: java.lang.String
        [pc: 0, pc: 1] local: last index: 2 type: java.lang.String
        [pc: 0, pc: 1] local: id index: 3 type: int
我猜这是因为局部变量表不适用于接口。
如何获得接口的调试信息呢?

那么,您将在哪里看到接口中的参数名称呢?每个实现类都将提供自己的名称存储接口的名称有什么意义?

那么,您将在哪里看到接口中的参数名称呢?每个实现类都将提供自己的名称存储接口的名称有什么意义?

同意,但是-g调试行为不应该在接口和类上保持一致吗。当然,这些名称可以在实现类中被覆盖。投票需要15个代表点。我有可能认识下一个投票者吗?不应该:没有办法使用这些名字进行调试。因此,不需要存储这些。这是不可能被覆盖的,这是必须的,也将被覆盖我是落选的选民-对不起,我认为这是显而易见的,这意味着我可能误解了你来自哪里。这似乎是一个毫无意义的酸葡萄回答——如果你不能拥有它,你无论如何也不能想要它。还有很多工具软件应用程序,你需要名称——生成子类、记录测试、创建UML等等。这不是答案,而是注释。如果IDE想要显示反编译接口上的信息,这不应该被允许吗?同意,但是-g调试行为不应该在接口和类上保持一致吗。当然,这些名称可以在实现类中被覆盖。投票需要15个代表点。我有可能认识下一个投票者吗?不应该:没有办法使用这些名字进行调试。因此,不需要存储这些。这是不可能被覆盖的,这是必须的,也将被覆盖我是落选的选民-对不起,我认为这是显而易见的,这意味着我可能误解了你来自哪里。这似乎是一个毫无意义的酸葡萄回答——如果你不能拥有它,你无论如何也不能想要它。还有很多工具软件应用程序需要名称——生成子类、记录测试、创建UML等等。这不是答案,而是注释。如果IDE想要在这个反编译接口上显示信息,这是允许的吗?