所以,让我们说我有方法A,我想知道如果开始方法A可能会导致方法D被踢掉。很容易确定A是否直接调用D,但有没有办法确定D是否在堆栈中进一步调用(例如:A调用B,B调用C,C调用D)?
基本上我希望用特定方法对所有方法调用进行递归搜索,以找到另一个特定的方法调用。对此的任何帮助将不胜感激。
此致 布兰登
答案 0 :(得分:0)
如果您有IDE(如Eclipse或Netbeans),可以在方法D中放置一个断点,然后在Debug视图中查看该点的堆栈。
例如,在Eclipse中,会有一个看起来像这样的面板:
的图片您可以在堆栈中看到已调用main()
。
在您的示例中,它可能如下所示:
ClassZ.D() line: P
ClassY.C() line: O
ClassX.B() line: N
ClassW.A() line: M
答案 1 :(得分:0)
Found the solution!显然我不是唯一一个提出这个问题的人,我只是没有说出同样的话。这是最好的解决方案(它确实使用了Eclipse中的调用层次结构,感谢Raedwald!)