Подскажите, пожалуйста, понять не могу вещь одну - как корректно дебажить потоки?
Вот, например, поставил я первую точку прерывания в main'e до запуска потока ( до метода waiter.start() ) и так же есть вторая точка прерывания, поставлена в классе Waiter внутри метода run(), в котором реализована логика выполнения потока. Запускаю отладку и первая точка в главном потоке метода main ловится. Но я далее не попадаю на вторую точку, которая по идее должна появиться при запуске waiter.start(). НО! Если убрать первую точку из метода main и запустить отладку, то все ок, отладка "видит" ту мою точку в run(). Как так?
И кто на опыте разбора чужого кода, подскажите как подходить к решению подобных кейсов? Следует ли целиком построчно вникать во всю программу или стоит уделять внимание лишь тому куску кода, где возникает проблема?
Спасибо.
Aleksey
18 уровень
Дебаг потоков
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Олег Січко
28 февраля 2021, 17:15
Тут 👉 видео про debug , должно прояснить ситуацию.
+2
Aleksey System Engineer
30 марта 2021, 21:33
спасибо!
0
hidden #2322530
28 февраля 2021, 10:04
а ты как пытаешься попасть туда?
через Step over (F8) ?
0