2013-05-01 7 views
0

Представьте, что вам передан проект Java Eclipse. В этом проекте есть куча классов, которые вызывают методы друг на друга, передают параметры и выполняют все действия, поэтому классы, связанные с проектом, довольно взаимосвязаны.Определение порядка вызовов метода в Java Eclipse

Теперь у вас есть один класс, в котором вы хотели бы выяснить работу. Есть ли способ в Eclipse через его инструменты, которые помогут мне разобраться в порядке , в котором каждый из методов в этом конкретном классе называется?

Я знаю, что я могу сделать System.out.println() внутри каждого из методов и контролировать вывод Консоли, чтобы выяснить порядок таким образом, но это слишком много времени для действительно больших классов.

Есть ли другой способ? Спасибо

+2

Выполняется в режиме отладки и выполняется через выполнение? – adchilds

+0

Как вы узнали, что заказ исправлен? Нет ли каких-либо утверждений 'if' и нет циклов? Разумеется, порядок будет меняться в зависимости от ввода. –

+0

Интересный [статья] (http://mathewjhall.wordpress.com/2011/03/31/tracing-java-method-execution-with-aspectj/) об использовании AspectJ и AOP для этого. – adchilds

ответ

0

Я не знаю, сколько времени вы потратите на это, но агенты java могут вам помочь, поскольку вы можете подключиться к коду во время выполнения и написать инструмент мониторинга.

Другой альтернативой было бы установить точку останова в какой-то момент, а затем посмотреть на стек.

1

Если вы используете ярлык по умолчанию CtrlAltH, вы получите иерархии вызовов, которая позволяет узнать о том, что методы называют это методы и какие методы вы звоните (и вы можете продолжать навигацию через эти методы) ,

Ссылки могут быть очень полезны тоже (CtrlСдвигG).

Смежные вопросы