如何使用Eclipse检查调试符号状态?

Hei*_*bug 7 java eclipse sdk debug-symbols

在讨论我问的另一个问题时,@ Aaron Digulla指出了以下问题:

如果安装了Java SDK,则Java安装的根目录中应该有一个"src.zip"文件.如果它丢失了,请再次下载Java.当您打开JTable类型时(或者当您单击堆栈跟踪中的行时),Eclipse应该自动找到源并显示给您.

该文件src.zip存在给我,但我仍然无法访问JTable类似@Aaron 的来源说.可能是什么问题呢?我怎样才能用Eclipse解决这个问题?

不过,"未知来源"让我很担心.这意味着您的Java版本没有调试符号.确保你a)在开发时使用SDK,b)你的SDK包含调试符号,c)不要告诉命令java在加载类时剥离调试符号.

a)我正在使用Eclipse,为什么我不应该使用SDK?

b)我如何知道我的SDK是否包含调试符号?如果没有,我该如何添加它们?

c)如何检查Eclipse是否告诉java剥离调试符号?

抱歉这些平庸的问题,但我觉得我不完全理解Java开发过程.

Edw*_*uck 6

a)Eclipse带有它自己的Java编译器,所以如果你使用的是Java Runtime Environment,你就不会遇到很多问题,除了像jarsigner和可能的JRE源代码这样的额外内容可能会丢失.验证安装的最佳方法是通过包管理器; 但是,如果你通过其他方式安装,仔细的目录观察通常可以区分这两者(见下文).

b)通常在没有调试符号的情况下编译JRE库.SDK库通常具有它们.通过使用打开调试端口的命令行选项启动JVM来完成Java调试.SDK与JVM通信,请求通过此端口设置断点.稍后,如果您决定步进JVM,它还会通过此端口发送步骤/跳转/回滚调试命令."调试"符号实际上是JVM字节码表,它引用从特定字节码指令开始有效的源代码行.这允许调试器将运行的字节码与原始源代码中的行号相关联.

c)通过(从菜单)Window-> Preferences(在选择器列上)验证它展开"Java",展开"Java"下的"Build Path",然后选择"ClassPath变量".您将看到一些变量,包括一个名为"JRE_SRC"的变量,它应该指向包含面向公众的JRE库源代码的src.zip文件.最好同时验证JRE_LIB.

JDK主目录通常包含"bin"子目录和"jre"子目录,因此如果您只看到"bin"子目录,那么您在JRE主目录中的几率很高.有了这些知识,希望你能够完成其余的工作.