用于调试的java工具

时间:2010-03-15 11:33:32

标签: java debugging

目前我们正在研究基于Java的工具,它主要是报告工具。它是在2000/2001期间开发的,使用了很多开源库,如Apache Avalon / Mx4J.Adaptor / edu.Oswego(java并发包)等工具。使用jdk 1.3.1,目标是升级到jdk 1.5。我们也被要求删除这些“过时的”软件包,并在可能的情况下用标准的Java软件包替换。

不幸的是,我们有可用于研究的代码,但缺少任何文档,并且在调试过程中很难跟踪流程(编写的类总数可能超过1000)。

了解这种工具的最佳方法是什么?任何图形工具都能看到类之间的关系吗?

谢谢, SR

5 个答案:

答案 0 :(得分:1)

您可以尝试使用某些源代码分析器plugins来进行日食。 DIVERX-Ray等工具可能很有用。

答案 1 :(得分:1)

这是一个常见的问题(不幸的是),遗憾的是,没有简单的解决方案。

有很多工具可以帮助你(见下文),但这些只是帮手,他们不会为你解决问题。

我发现系统方法是最好的。有一篇很好的文章:

Swallowing an elephant in 10 easy steps ,关于理解大型无证书系统。这是关于Perl的,但这些想法与语言无关。

一些可能有用的工具:

  • 在调试器中逐步浏览有趣的部分(例如,Eclipses调试器)
  • 使用Eclipse的“调用层次结构”和“查找引用”来了解代码的哪个部分使用了什么
  • 使用简单的输入数据运行测试,了解它们产生的内容
  • 将javadoc写入记录您所找到内容的代码中,可能会更正现有文档
  • 使用工具可视化类依赖关系。我已经取消了JDepend取得了一些成功;还有很多其他的。

答案 2 :(得分:0)

Eclipse(以及更新版本的NetBeans和IntelliJ)具有分析大型代码库的绝佳工具:

  • 调用层次结构(CTRL + ALT + H) - 您可以看到给定方法的调用层次结构
  • 键入层次结构(F4) - 您可以看到整个继承结构
  • Data hierarchy
  • 右键点击商品>参考
  • 许多不同的搜索选项

答案 3 :(得分:0)

  

任何图形工具都可以看到类之间的关系吗?

如果您想查看课程之间的关系,可以尝试Green UML。它从您的存储库中创建了一个漂亮的UML类图。它适用于Eclipse。 我希望有所帮助。

答案 4 :(得分:0)

您可以在NetBeans中轻松完成。

选择方法签名并按ALT + F7(或者右键单击,然后单击“查找用法”),这将显示调用特定方法的位置。

第二种选择有点紧张但可能会给出一些结果。为项目配置log4j并尝试在每个方法中提供正确的日志记录代码。