在Java中调试具有多个方法调用的单行

在Java中调试具有多个方法调用的单行,java,debugging,methods,Java,Debugging,Methods,我在网上发现了一个问题,并开始做它的乐趣。问题是确定在java应用程序中导致NullPointerException的方法。下面是相同的代码 代码: 第三行抛出异常,但我不确定如何调试具有多个方法调用的行。请就如何解决此问题提供您的建议 PS:Chain是一个存在于外部jar文件中的类,没有给定源代码 更新: 给了我一个解决这个问题的方法。把它分成几个单独的电话。我试过了。但是,它不起作用。我的意思是,在这种情况下,每个方法似乎都会抛出一个异常。什么不起作用,复制粘贴?那么?抓住或扔掉它。如果链

我在网上发现了一个问题,并开始做它的乐趣。问题是确定在java应用程序中导致
NullPointerException
的方法。下面是相同的代码

代码:

第三行抛出异常,但我不确定如何调试具有多个方法调用的行。请就如何解决此问题提供您的建议

PS:Chain是一个存在于外部jar文件中的类,没有给定源代码

更新:
给了我一个解决这个问题的方法。

把它分成几个单独的电话。我试过了。但是,它不起作用。我的意思是,在这种情况下,每个方法似乎都会抛出一个异常。什么不起作用,复制粘贴?那么?抓住或扔掉它。如果链中的每个调用都这样做了,那么整个链也会这样做。这意味着您在示例中也应该得到相同的编译器消息。抛出异常的方法是经过设计的,但这并不意味着它不起作用。“如果每个方法调用都抛出异常,因为没有给定源,那么有可能确定哪个方法实际抛出异常吗?”请参阅我的第一条评论。“并不是每个方法都会抛出一个异常。”它可以,这取决于它们的行为。“我想知道这些调用是否相互依赖。”根据定义,所有调用都是独立的。
public void theChainLinkFence() {       
    System.out.println(Constants.Fence.GREETING);        
    chain.is().only().as().strong().as().its().weakest().link();
    ChainFence.allowThrough(chain);
}