Как / Где найти, где тема была заблокирована?

1

У меня есть проблема, когда ключевой нить в моей игре становится заблокированной по причине отсутствия видимости.

Как я могу найти строку кода, которая пытается выполнить в момент блокировки потока?

Я использую Eclipse IDE.

Благодарю!

  • 0
    Собираетесь ли вы сказать нам, какой язык программирования вы используете, или мы должны угадать?
  • 0
    @greg-449 greg-449 Я использую Eclipse. Хотя это может быть любой язык программирования, я ищу в IDE что-то, что скажет мне об этом, а это означает, что я не понимаю, как этот язык имеет значение. Я использую Java.
Показать ещё 2 комментария
Теги:

2 ответа

3
Лучший ответ

Вы можете использовать отладчик Eclipse для него. Не запускайте приложение через обычную кнопку запуска, но с помощью кнопки отладки, кроме нее.

Изображение 174551

Играйте в свою игру и создавайте ситуацию, которая закончится в тупике. Затем вы можете перейти в Eclipse и перейти на перспективу отладки. Вы увидите все запущенные потоки и выполняемые методы (точнее, полный стек).

Изображение 174551

0

Когда приложение заблокировано, вам нужно сделать дамп потока. С консоли должно быть что-то вроде:

jstack <pid>

или:

kill -3 <pid>

где <pid> - это идентификатор процесса jvm, запускающего ваше приложение.

Это скажет вам, где именно поток блокируется вместе с stacktrace, которые приводят к выполнению этой части кода.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню