首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有断点的情况下停止在Eclipse中调试Java

在没有断点的情况下停止在Eclipse中调试Java
EN

Stack Overflow用户
提问于 2018-11-16 06:49:36
回答 2查看 689关注 0票数 1

我想调试包含两个最简单类的非常简单的代码。

代码语言:javascript
复制
package test.pack;

public class TestClass {

    public static void main(String[] args) {
        TestClassTwo tc2 = new TestClassTwo();
    }

}

==================================================

代码语言:javascript
复制
package test.pack;

public class TestClassTwo {

    public TestClassTwo() {
        System.out.println(this);
    }

}

==================================================

因此,当我在类TestClassTwo的初始化上打开断点并通过F11和F5运行调试时,我应该进入TestClassTwo的构造函数。而不是在我没有设置任何断点的地方点击这个断点。It is shown on this pic

我在Eclipse IDE for Java EE Developers和Eclipse IDE for Java Developers上进行了测试,我还从Oracle官方网站下载并安装了JDK的最新版本。

但有一个限制是,根据业务方面的技术任务,我必须在项目中使用Java版本1.7。

我试图使用这个主题Debug hit without breakpoint - Eclipse中的解决方案,但它没有帮助。

接下来,我会附上一些截图,这些截图可以帮助解决我的问题。

Java library in settings of project

Installed JRE in preferences of Eclipse

Java version in cmd

System variables in Environment variables

System variables in Environment variables also

Windows version

EN

回答 2

Stack Overflow用户

发布于 2018-11-16 07:06:31

您试图输出this,这意味着对此对象的引用,但试图从创建此对象的构造函数调用它。尝试在另一个方法中的构造函数之后调用此代码。

Debug可能因为空引用异常而崩溃,这会导致调用堆栈错误,这就是程序立即崩溃的原因。

票数 0
EN

Stack Overflow用户

发布于 2018-11-16 07:35:44

首先,到目前为止,您做的一切都是正确的。

这个“错误”,如果你想这么说的话,在你点击F5的时候就会出现。现在这个命令被称为step into,这意味着它将在下一个更深的堆栈层继续执行。

从代码中,您假设这将是TestClassTwo的构造函数,但是在java可以调用构造函数之前,它首先必须初始化类本身,这正是图片中的Debug View所指示的。

附带问题:为了深入了解ClassLoader.loadClass(),您是否多次按下了F5

对于当前执行,您可以选择Debug View中倒数第二行,即

代码语言:javascript
复制
Launcher$AppClassLoader(ClassLoader).loadClass(String) line: not available

然后点击F7。这将对各自的方法进行step out,并在前一堆栈层继续执行,在该堆栈层之后应调用TestClassTwo的构造函数。

对于将来的调试,您可能希望熟悉Step Filtering。步骤筛选器允许您从调试中排除代码的某些部分。它们会被执行,但eclipse会自动“跳过”它们。

在相应的首选项页面Java > Debug > Step Filtering中,eclipse方便地提供了单独启用和禁用java.lang.ClassLoader的步骤过滤的选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53328970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档