#python #visual-studio-code #vscode-debugger #vscode-python
#python #visual-studio-code #vscode-отладчик #vscode-python
Вопрос:
Я работаю в многопоточном проекте на Python, используя VSCode и расширение Python. Все работало правильно, пока внезапно, без моего изменения каких-либо настроек) он перестал показывать запущенные процессы и потоки в стеке вызовов. Стек вызовов теперь пуст, пока не остановится на точке останова.
Это только для Python. Например, для C это работает, как показано на следующем рисунке:
Здесь приведены мои файлы конфигурации:
settings.json:
{
"python.pythonPath": "C:\Users\tiago\AppData\Local\Programs\Python\Python38\python.exe",
"python.linting.pylintEnabled": false,
"python.linting.enabled": true,
"python.linting.pylamaEnabled": false,
"python.linting.flake8Enabled": true
}
запустите файл .json:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "externalTerminal"
}
]
}
Комментарии:
1. Рекомендуется отключить другие несущественные расширения, чтобы избежать помех между ними. Кроме того, пожалуйста, попробуйте использовать другие версии расширений Python и перезагрузите VSCode.
2. @JillCheng Я отключил все расширения, кроме расширения Python, и проблема сохраняется
3. Я заметил, что вы также отправили этот вопрос здесь , и информация в этой ссылке более полная, поэтому я соединил эти две ссылки для справки большего количества людей.
Ответ №1:
Это происходило потому, что для переменной среды ‘GEVENT_SUPPORT‘ было установлено значение True, и, как сказал @fabioz, «В режиме gevent отладчик ожидает, что модули обработки потоков будут исправлены gevent и, следовательно, он не отслеживает их (как и в режиме gevent, ожидается, что у вас будет только 1 основнойпоток).»