как получить последний выполненный метод в коде, который не завершается? - PullRequest
2 голосов
/ 01 августа 2011

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

Есть ли способ в Intellij увидеть последний метод, который был / текущий метод, который выполняется?

спасибо

Ответы [ 2 ]

4 голосов
/ 01 августа 2011

Вы можете использовать BTrace , инструмент трассировки, чтобы распечатать название каждого метода, введенного в вашу программу. Есть пример сценария, который поставляется с BTrace, который называется AllMethods, который делает именно это.

Все, что вам нужно сделать, это запустить процесс Java, а затем запустить скрипт BTrace для PID JVM. Он распечатает каждый введенный метод. Вы можете ограничить его определенными пакетами, если хотите. Для получения дополнительной информации об использовании BTrace ознакомьтесь с этим учебным пособием .

1 голос
/ 01 августа 2011

Используйте профилировщик.Это даст вам представление о том, какие методы выполняются, сколько времени ваша программа тратит на каждый метод и т. Д. И т. Д. Оттуда должно быть довольно легко узнать, где ваша программа тратит свое время.

JProfiler является примером.Я думаю, что у него есть пробная / демо-версия, которая полностью функциональна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...