Код VS не переходит на верхний кадр стека

Я пытаюсь отладить код библиотеки Django с настройками отладки VS Code Python и Django по умолчанию (и "justMyCode" = True). Я установил точку останова в одной из библиотечных функций:

breakpoint set in save()

Я вызываю это из некоторого пользовательского кода, например formset.save(). Когда я отлаживаю и нажимаю точку останова, VS Code перескакивает на этот пользовательский код, а не на код библиотеки, как я ожидал:

debugger jumps to user code

Нажатие кнопки "Step Into" вроде бы продвигает библиотечный код, но продолжает возвращаться к пользовательскому коду, который его вызывает.

Похоже, что стек вызовов знает о коде библиотеки, хотя он и выделен серым цветом:

save is greyed out

Если я щелкну на save, то будет выделен текущий выполняющийся оператор:

current statement highlighted green

Я могу пройти через утомительный процесс перебора, щелкнуть верхний кадр стека, а затем сделать обычные вещи, такие как осмотр локалей. Проблема, похоже, заключается в том, куда VS Code перепрыгивает каждый раз, когда отладчик прерывается (или, может быть, куда pdb говорит VS Code перепрыгнуть - я не уверен).

Я хочу, чтобы код библиотеки, который выполняется в данный момент, был перепрыгнут, и это то, что я ожидал, чтобы произошло.

для отладки Проблема, из-за которой вы не можете попасть в код библиотеки, может быть связана с настройками just my code. Щелкните на File, выберите Preferences и перейдите к Settings. Найдите параметр justMyCode и измените его на false. enter image description here

Я вижу то же самое. Похоже, это недавняя ошибка в VSCode. Я откатился до https://code.visualstudio.com/updates/v1_89, который работает, как и ожидалось

 "debugpy.debugJustMyCode": false

Я попробовал эту конфигурацию, но она все еще не работает для версии 1.90.

Вернуться на верх