Eclipse如何在第三方库中设置断点?

新手上路,请多包涵

我从第 3 方库的类中获取 NullPointerException。现在我想调试整个事情,我需要知道类是从哪个对象保存的。但在我看来,我无法在第 3 方的课程中设置断点。

有谁知道摆脱我的麻烦的方法吗?当然,我使用 Eclipse 作为我的 IDE。

更新:图书馆是开源的。

原文由 boutta 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 506
2 个回答

最可靠的方法(并最终得到真正有用的东西)是下载源代码(你说它是开源的),并设置另一个指向该源的“Java 项目”。

为此,请下载源代码并将其解压缩到系统的某个位置。点击“文件”->“新建”->“Java项目”。在下一个对话框中,为其指定项目名称并选择“从现有源创建项目”。浏览到开源库的根位置。

假设项目所需的所有附加库等都包含在您下载的项目中,Eclipse 将解决所有问题并为您设置构建路径。

您需要从项目的构建路径中删除开源 jar,并将这个新项目添加到项目的构建路径中。

现在,您可以将其视为您的代码,并随意调试。

这至少解决了其他方法的几个问题:

  1. 您可以将源“附加”到 jar 文件,但是如果 jar 文件是在没有调试信息的情况下编译的,这仍然行不通。如果 jar 文件是使用调试信息编译的( lines,source,vars …请参阅 http://java.sun.com/j2se/1.3/docs/tooldocs/win32/javac.html ,以及 -g 选项)。

  2. 您可以添加一个“异常断点”以查看何时引发 NullPointerException,但这是一个常见的异常,并且很可能会在您要查找的异常之前被引发和处理很多次(数百次?)。另外,如果没有原始来源,您将无法真正看到有关抛出 NullPointerException 的代码的任何信息 - 您能够找出问题所在的可能性非常低。

原文由 Jared 发布,翻译遵循 CC BY-SA 2.5 许可协议

您可以在没有源代码的情况下轻松地在 3rd 方库中设置方法断点。只需打开课程(您将获得“我没有源代码”视图)。打开大纲,右键单击所需的方法并单击 Toggle Method Breakpoint 创建方法断点。

原文由 Joachim Sauer 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题