【问题标题】:eclipse why cannot set breakpoint in static block codeeclipse为什么不能在静态块代码中设置断点
【发布时间】:2016-05-25 08:36:37
【问题描述】:

Maven 项目有一个依赖 jar -- log4j-1.2.14.jar,

<dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.14</version>
</dependency>

执行junit测试时有以下错误信息

java.io.FileNotFoundException: /Users/foo/Documents/logs/info.log (No such file or directory)
...
at org.apache.log4j.LogManager.<clinit>(LogManager.java:122)
at org.apache.log4j.Logger.getLogger(Logger.java:104)
...

我想在LogManager.java 122 行设置断点,但不能。

奇怪的是,我可以在同一个类的其他部分成功设置断点。然后我发现122行是在一个静态块代码中。

static {...}

好像静态块代码中有一行,这里不能启用断点。

那为什么会这样呢?

【问题讨论】:

  • Eclipse IDE 一般可以在静态块代码中设置断点(我这里刚试成功)。您尝试访问此文件并在其上放置断点的具体步骤是什么?
  • 只要创建一个maven项目然后添加依赖——log4j-1.2.14.jar,然后打开Open Type窗口,输入LogManger,然后到122行,然后在左侧双击。跨度>

标签: eclipse breakpoints


【解决方案1】:

晚了,但可能对某些人仍有帮助。我和 OP 有类似的经历,但后来注意到 Eclipse 实际上确实设置了一个断点。不过,不是我点击的地方的断点,而是类开始时在编辑器中标记的类断点,这比我感兴趣的行高了很多。

【讨论】:

    猜你喜欢
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 2020-01-08
    相关资源
    最近更新 更多