当前位置: 首页 > 面试题库 >

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

柴彬
2023-03-14
问题内容

我从第3方库中获得Class中的NullPointerException。现在,我想调试整个过程,我需要知道该类是从哪个对象持有的。但在我看来,我无法在第三方的类中设置断点。

有人知道我摆脱困境的方法吗?当然,我使用Eclipse作为我的IDE。

更新:该库是开源的。


问题答案:

最可靠的方法(最终得到有用的东西)是下载源代码(您说它是开源的),并设置另一个指向该源代码的“ 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的代码的任何信息-您能够找出问题所在的可能性非常低。



 类似资料:
  • 本文向大家介绍如何在 Vue.js 中使用第三方js库,包括了如何在 Vue.js 中使用第三方js库的使用技巧和注意事项,需要的朋友参考一下 在诸多 Vue.js 应用中, Lodash, Moment, Axios, Async等都是一些非常有用的 JavaScript 库. 但随着项目越来越复杂, 可能会采取组件化和模块化的方式来组织代码, 还可能要使应用支持不同环境下的服务端渲染. 除非你

  • 我已经下载了代数鸟,我想使用这个库在Scala解释器中试用一些东西。我如何实现这一点?

  • 问题内容: 如何将第三方库(jar文件)添加到Talend项目? 还有一个问题是,每个Talend 使用,但是在我的情况下 使用组件,如何利用现有的日志记录库摆脱此异常? 问题答案: 您可以使用component或导入外部jar 。 欲了解更多信息,请访问 http://vikramtakkar.blogspot.in/2013/03/importing-external-jar-or-libra

  • 问题内容: 我有一些使用第三方库的java9模块,它不是Java9模块,只是一个简单的实用jar。 但是,编译器抱怨它无法从我的实用程序中找到软件包。 我应该怎么做才能使用我的第三方库? 问题答案: 您可以将您的库用作 自动模块 。自动模块是没有模块描述符(即)的模块。 但是,您需要指定什么名称来引用自动模块?自动模块的名称是从JAR名称派生的(除非此JAR包含属性)。完整的规则很长(请参阅Jav

  • 我有一些使用第三方库的java9模块,它不是java9模块,只是一个简单的实用程序jar。 但是,编译器抱怨它找不到来自我的实用程序的包。 我应该做什么在启用使用我的第三方库?

  • 我已经在中取消了这一行的注释,但是Proguard没有启用。 我的代码有什么问题/我遗漏了什么? 代码如下所示,请注意,我已经将该应用程序命名为ProGuard。 proguard-project.txt: