[java] Как заставить дамп потока в Eclipse?


Answers

Вы можете сделать это, когда находитесь в режиме отладки: перейдите в режим отладки в перспективе отладки, щелкните процесс, который вы запустили, и нажмите на паузу, вы получите графический стек всех ваших процессов.

Примечание. Это также работает при использовании удаленной отладки, вам не нужно запускать weblogic из eclipse, вы можете запускать его самостоятельно, открывать порты отладки и создавать для него «конфигурацию отладки приложений Java».

Question

Я запускаю приложение Weblogic внутри Eclipse через среду выполнения BEA Weblogic Server v9.2. Если бы это было прямо из командной строки, я бы сделал ctrl-BREAK, чтобы заставить дамп потока. Есть ли способ сделать это в Eclipse?




Вы можете подключиться через JVisualVM и получить дамп потока. Просто щелкните правой кнопкой мыши на узле приложения из дерева приложений и выберите «Дамп потока»,




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

Чтобы взять дамп потока в visualvm:

  1. подключиться к процессу (удаленному или локальному) и
  2. перейти на Threads (вкладка) -> Thread Dump (кнопка)



Eclipse Wiki: как сообщить о тупике перечислены все возможные варианты создания дампа потока в Eclipse. В зависимости от конкретной ситуации один или другой может работать лучше - мой личный фаворит в Windows - это инструмент Adaptj Stacktrace.




Links