2014-09-02 72 views
1

我正在使用eclipse并希望提取两种方法的调用层次结构以查看它们的流是否相交。我目前正在做的是将一个方法调用层次结构复制到文本编辑器,并在第一个调用层次结构中搜索另一个方法调用层次结构中的方法。如何保存eclipse调用层次结构搜索

1.是否有方法可以保存一个调用层次结构,然后复制粘贴,以便以后可以重新加载到搜索窗口中?

2.Is有另一种方式来检查现有的Java代码调用层次交叉?(也许其他工具)

回答

0

我想你的问题分成2个不同的任务

  1. 获取堆栈跟踪并保存它
  2. 找到十字路口。

如果你可以改变你发现的代码,你可以使用像new Throwable().printStackTrace(out)这样的代码在每个有趣的方法开始时获取堆栈跟踪。将其保存到专用文件并稍后处理。

如果您不能(或不想)更改正在发现的代码,您可以轻松地使用AspectJ实现相同的代码。建议:使用动态编织,它更容易,更灵活。

现在的第二个任务:搜索交叉点。不幸的是,我不知道标准工具,但似乎并不难实现这一点。实施将取决于您的要求。例如,如果您只需要在两个堆栈跟踪中找到第一个常用方法,则该任务很简单。但是,如果您需要真正的“差异”功能,则可以使用可用的java diff库之一。如果亲自发现http://badiff.org/wiki/Badiff是一个最灵活和设计良好的java差异库。

相关问题