Java-инструмент для отладки - PullRequest
0 голосов
/ 15 марта 2010

В настоящее время мы изучаем инструмент на основе Java, который в основном представляет собой инструмент отчетности. Он был разработан в период 2000/2001 гг. И использует много библиотек с открытым исходным кодом, таких как Apache Avalon / Mx4J.Adaptor / edu.Oswego (пакет java для одновременной работы) и т. Д. Инструмент использует jdk 1.3.1, и целью является обновление до jdk 1.5. Нас также попросили удалить эти «устаревшие» пакеты и заменить стандартными пакетами Java, если это возможно.

К сожалению, у нас есть код, доступный для изучения, но в нем отсутствует какая-либо документация и очень сложно отследить поток (общее количество написанных классов может быть больше 1000) во время отладки.

Какой лучший способ понять этот вид инструмента? Любой графический инструмент, чтобы увидеть отношения между классами?

Спасибо, SR

Ответы [ 5 ]

1 голос
/ 15 марта 2010

Это распространенная проблема (к сожалению), и опять же, к сожалению, нет простого решения.

Существует много инструментов, которые могут вам помочь (см. Ниже), но это всего лишь помощники, они не решат проблему за вас.

Я обнаружил, что системный подход лучше. На это есть хорошая статья:

Проглатывание слона за 10 простых шагов , о понимании большой недокументированной системы. Речь идет о Perl, но идеи не зависят от языка.

Некоторые инструменты, которые могут помочь:

  • Пройти через интересные части в отладчике (например, отладчик Eclipses)
  • Используйте Eclipse «Иерархия вызовов» и «Найти ссылки», чтобы понять, какая часть кода использует, что
  • Запускать тесты с простыми входными данными, понимать, что они производят
  • Запишите в код javadocs, документируя то, что вы нашли, возможно исправляя существующие документы
  • Используйте инструменты для визуализации зависимостей классов. Я удалил JDepend с некоторым успехом; Есть много других.
1 голос
/ 15 марта 2010

Вы можете попробовать некоторые из анализаторов исходного кода plugins , чтобы затмить. Такие инструменты, как DIVER или X-Ray могут быть полезны.

0 голосов
/ 17 января 2012

Вы можете сделать это легко в NetBeans .

Выберите сигнатуру метода и нажмите ALT + F7 (или поочередно щелкните правой кнопкой мыши и затем нажмите «Найти использование»), это покажет вам, откуда вызывается конкретный метод.

Второй вариант немного беспокойный, но может дать некоторые результаты. Сконфигурируйте log4j для своего проекта и попробуйте дать правильный код регистрации в каждом методе.

0 голосов
/ 15 марта 2010

Какой-нибудь графический инструмент, чтобы увидеть отношения между классами?

Если вы хотите увидеть отношения между классами, вы можете попробовать Зеленый UML . Это создает хорошую диаграмму классов UML из вашего хранилища. Это работает на Eclipse. Надеюсь, это поможет.

0 голосов
/ 15 марта 2010

Eclipse (и более новая версия NetBeans и, возможно, IntelliJ) имеют замечательные инструменты для анализа больших баз кода:

  • Иерархия вызовов (CTRL + ALT + H) - вы видите иерархию вызовов в / из данного метода
  • Иерархия типов (F4) - вы видите всю структуру наследования
  • Иерархия данных
  • Щелкните правой кнопкой мыши на элементе> Ссылки
  • много разных вариантов поиска
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...