У меня есть список, содержащий несколько сотен записей. Я думаю, что общий размер списка составляет 3,5 МБ.
При отладке проблемы я не могу просмотреть ни одну запись, прошедшую 300, и вижу это сообщение «Слишком большой для отображения содержимого». Максимальное количество предметов для показа: 300 мин.
Есть идеи?
Вы хотите найти файл с именем pydevd_resolver.py
в каталоге рабочей области Visual Studio Code.
(вы можете найти его с помощью этой команды Bash: find / -name pydevd_resolver.py 2>/dev/null
).
Откройте файл, и внутри него найдите определение константы: MAX_ITEMS_TO_HANDLE = 300
. Вы можете изменить это число на любое другое, но обратите внимание, что это, конечно, потребует больше ресурсов, поэтому будьте осторожны с этим.
Просто для завершения я вставляю примечание, приведенное выше этого определения, в само pydevd_resolver.py
:
Note: 300 is already a lot to see in the outline (after that the user should really use the shell to get things) and this also means we'll pass less information to the client side (which makes debugging faster).
Я бы посоветовал использовать консоль отладки для ручного ввода и проверки ваших данных, а не пытаться просмотреть их все сразу, если они такие большие и требуют редактирования внутреннего кода в отладчике. Ограничение существует по какой-то причине, поэтому его превышение может привести к проблемам.
Я согласен с вашим комментарием о редактировании внутреннего кода отладчика. Прямо сейчас я смотрю на сообщение «Слишком большое для отображения содержимого». Максимальное количество предметов для показа: 300 футов. В списке 473 пункта. Конечно, могут быть последствия для производительности в пользовательском интерфейсе, отладчике, IDE и т. д., если этот предел был увеличен, но идея о том, что «300» — это какое-то магическое число...
Для окон!
Вы можете отредактировать этот файл pydevd_resolver.py
по адресу:
USER_NAME\.vscode\extensions\ms-python.python-2021.3.680753044\pythonFiles\lib\python\debugpy\_vendored\pydevd\_pydevd_bundle
Меня устраивает.
Что вы подразумеваете под "Для окон"? "Для Майкрософт Виндоус"? Или что-то другое? Относится ли «ms» в «ms-python» к Microsoft или нет?
@PabloAriel, ты знаешь, что можешь умножить 300 на число?
@jriv конечно. Просто указываю, насколько плохой должна быть реализация, чтобы требовать такого ограничения. Я могу обрабатывать миллионы пикселей в реальном времени за доли секунды, используя только ЦП и без всяких хаков, ассемблерного кода или чего-то еще, кроме стандартного языка, в то время как Python и его инструменты настолько отстойны, что считают 300 разумным пределом.
Я не могу найти pydevd_resolver.py ни в одном из моих решений Python VS в Windows.