4 ответов:
поставьте точку останова на метод " run " нового потока. Это остановит выполнение после запуска потока.
в дополнение к ответу Шамита Вермы:
при отладке многопоточных приложений лучше не использовать стандартные точки останова, которые приостанавливают только поток, где установлена точка останова. Определение стандартной точки останова в вашем приложении приведет только к разрыву связанного потока. Другие потоки будут по-прежнему работать. В отладчике eclipse по какой-то причине отладчик будет пропускать точки останова, если другие потоки уже запущены.
в решение:
определить точку останова в нужном потоке (@Run () метод я ожидаю..), щелкните правой кнопкой мыши на точке останова -> свойства точки останова.
в диалоговом окне Свойства точки останова отметьте " приостановить VM "вместо"приостановить поток".
Если вы сделаете это, вся ваша виртуальная машина будет приостановлена в случае достижения точки останова.
в дополнение к ответу Эрика каджу. Если вы отлаживаете CDT (это может быть применимо и для Java, я не уверен в этом), то
- поместите точку останова в метод run () (или его эквивалент). Или любой момент, в котором вы уверены, что необходимые потоки и не обязательные потоки (те, которые будут удалены фильтром) работают.
- начать сеанс отладки.
- когда точка останова в run нажата, вы можете перейти к другому точка останова, включите эту точку останова, если она была отключена. Затем щелкните правой кнопкой мыши на точке останова - > перейти к фильтрам, теперь вы можете выбрать поток, который вы хотите, чтобы точка останова была включена, и вы можете снять флажок с остальных потоков. Таким образом, эта точка останова будет поражена только для этого конкретного потока.
недостаток-эта процедура должна быть повторена для каждого сеанса отладки. Если кто может обеспечить короткий путь для него, то это было бы здорово.

Comments