Код VS не переходит на верхний кадр стека
Я пытаюсь отладить код библиотеки Django с настройками отладки VS Code Python и Django по умолчанию (и "justMyCode" = True
). Я установил точку останова в одной из библиотечных функций:
Я вызываю это из некоторого пользовательского кода, например formset.save()
. Когда я отлаживаю и нажимаю точку останова, VS Code перескакивает на этот пользовательский код, а не на код библиотеки, как я ожидал:
Нажатие кнопки "Step Into" вроде бы продвигает библиотечный код, но продолжает возвращаться к пользовательскому коду, который его вызывает.
Похоже, что стек вызовов знает о коде библиотеки, хотя он и выделен серым цветом:
Если я щелкну на save
, то будет выделен текущий выполняющийся оператор:
Я могу пройти через утомительный процесс перебора, щелкнуть верхний кадр стека, а затем сделать обычные вещи, такие как осмотр локалей. Проблема, похоже, заключается в том, куда VS Code перепрыгивает каждый раз, когда отладчик прерывается (или, может быть, куда pdb говорит VS Code перепрыгнуть - я не уверен).
Я хочу, чтобы код библиотеки, который выполняется в данный момент, был перепрыгнут, и это то, что я ожидал, чтобы произошло.
для отладки Проблема, из-за которой вы не можете попасть в код библиотеки, может быть связана с настройками just my code
. Щелкните на File
, выберите Preferences
и перейдите к Settings
. Найдите параметр justMyCode
и измените его на false.
Я вижу то же самое. Похоже, это недавняя ошибка в VSCode. Я откатился до https://code.visualstudio.com/updates/v1_89, который работает, как и ожидалось
"debugpy.debugJustMyCode": false
Я попробовал эту конфигурацию, но она все еще не работает для версии 1.90.