Перейти к содержанию

Потоки

Панель Threads перечисляет все потоки, о которых сообщил адаптер. Открывается по Ctrl+T; по умолчанию занимает левую колонку во всю высоту.

Выбор потока

Двигайте курсор по J / K и нажмите Enter, чтобы выбрать. В отличие от стека вызовов, здесь курсор и выделение разделены — по списку можно ходить, не переключая внимание отладчика.

Выбор потока переводит на него Стек вызовов, а через него Переменные и Evaluate. Шаги применяются к выбранному потоку.

Что показывает список в разных языках

Панель показывает то, что сообщает адаптер, а адаптеры разные:

Язык Что видно
Rust, C/C++ потоки ОС, включая потоки рантайма, которых вы не создавали
Go горутины, которых бывают тысячи
Python потоки Python; debugpy сообщает их по потокам интерпретатора
PHP один поток — в DBGp нет понятия нескольких

Для Go этот список — основной инструмент при взаимной блокировке: горутина, повисшая на канале, видна поимённо, а её стек говорит, на чём именно.

Однопоточные программы

У многих программ поток один, и тогда в панели одна никогда не меняющаяся строка. Это законный кандидат на удаление из раскладки:

[ui.layout]
top_left = []

См. Настройка → Интерфейс — и помните, что очистка зоны требует явного её упоминания: не названная зона сохраняет состав по умолчанию.