Потоки¶
Панель Threads перечисляет все потоки, о которых сообщил адаптер. Открывается по Ctrl+T; по умолчанию занимает левую колонку во всю высоту.
Выбор потока¶
Двигайте курсор по J / K и нажмите Enter, чтобы выбрать. В отличие от стека вызовов, здесь курсор и выделение разделены — по списку можно ходить, не переключая внимание отладчика.
Выбор потока переводит на него Стек вызовов, а через него Переменные и Evaluate. Шаги применяются к выбранному потоку.
Что показывает список в разных языках¶
Панель показывает то, что сообщает адаптер, а адаптеры разные:
| Язык | Что видно |
|---|---|
| Rust, C/C++ | потоки ОС, включая потоки рантайма, которых вы не создавали |
| Go | горутины, которых бывают тысячи |
| Python | потоки Python; debugpy сообщает их по потокам интерпретатора |
| PHP | один поток — в DBGp нет понятия нескольких |
Для Go этот список — основной инструмент при взаимной блокировке: горутина, повисшая на канале, видна поимённо, а её стек говорит, на чём именно.
Однопоточные программы¶
У многих программ поток один, и тогда в панели одна никогда не меняющаяся строка. Это законный кандидат на удаление из раскладки:
См. Настройка → Интерфейс — и помните, что очистка зоны требует явного её упоминания: не названная зона сохраняет состав по умолчанию.