Pycharm CE не достигает точек останова в моем проекте Django
Мой проект правильно настроен для запуска manage.py
в нужном месте с правильными настройками.

У меня также есть точки останова отладки, установленные в методе, который, как я точно знаю, выполняется (я поместил туда оператор печати, и он выполняется, как ожидалось). Точки останова не отключены или условны:

Когда я нажимаю кнопку «Запуск в режиме отладки», используя указанную выше конфигурацию запуска (я уверен, что она такая же, потому что она единственная, которую я настроил для этого проекта), я получаю следующие выходные данные консоли:
pydev debugger: process 38083 is connecting
Connected to pydev debugger (build 192.5728.105)
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
December 23, 2020 - 19:22:22
Django version 3.1.4, using settings 'FEArena.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Когда я попытался установить точку останова manage.py
, она сработала, как и ожидалось, срабатывая сразу после того, как я нажал кнопку «отладка». Однако после запуска приложения, когда я использую клиент REST для запуска вышеуказанного метода, тот, в котором есть точки останова, точки останова не срабатывают, и отладчик не запускается. Я получаю 200 OK
ответ в своем REST-клиенте, но PyCharm не останавливает и не запускает отладчик в любой момент.
Я просмотрел другие ответы, в которых рекомендовалось установить «Отладку, совместимую с Gevent» (которой у меня нет, потому что я использую Community Edition), и я попытался удалить .idea/
папку для проекта, что также не устранило проблему. . Я не уверен, что еще могло быть причиной этого. Я просто хочу отладить свою программу.
Информация о моей версии PyCharm
PyCharm 2019.2 (Community Edition)
Build #PC-192.5728.105, built on July 23, 2019
Runtime version: 11.0.3+12-b304.10 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.7
GC: ParNew, ConcurrentMarkSweep
Memory: 4029M
Cores: 8
Registry:
Non-Bundled Plugins: com.karateca.jstoolbox, mobi.hsz.idea.latex, net.seesharpsoft.intellij.plugins.csv, nl.rubensten.texifyidea, org.intellij.plugins.markdown
Что могло быть причиной того, что точки останова не срабатывали, и как это исправить? Мне нужны точки останова для отладки других частей моей программы.
Ответы
Вы случайно не запускаете свой сервер в консоли? Если это так, попробуйте остановить сервер, работающий в консоли, и перезапустить сервер в PyCharm.
У меня была аналогичная проблема ранее в PyCharm, когда я вызывал Executionor.submit. Мне пришлось вставить строку с запросом результатов кода, чтобы повторно вызвать ожидаемое поведение отладки. Если ваш код является многопоточным, вы можете начать с него.
future = executor.submit(control, channel) # spawn a function control(channel)
print(f'Future result is: {future.result()}') # new line I had to add to enable debugging
Изменить: добавление ссылки на ветку, которая помогла мне с аналогичным поведением в PyCharm. concurrent.futures.ThreadPoolExecutor не выводит ошибки
Моя текущая рабочая конфигурация такова:

У него нет пути или параметров скрипта.
Когда я нажимаю зеленую кнопку «Отладка», автоматически запускается следующая команда: /Users/.../virtualenv/bin/python /Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/pydevd.py --multiproc --qt-support=auto --client 127.0.0.1 --port 55583 --file /Users/.../manage.py runserver 8000
Что насчет твоего ?
Привет, я пишу этот ответ, так как не могу комментировать из-за моей репутации нет. Случайно ли вы установили инструментарий отладчика cython, который продолжает предлагать pycharm? Если да, то я столкнулся с той же проблемой. Решение состоит в том, чтобы как-то удалить Cython Speedups. Вы можете перейти по этой ссылке, чтобы сделать это.
В основном вам нужно перейти в каталог с именем _pydevd_bundle
и удалить pydev*.so
файлы. Теперь для этого требуются привилегии root. Если он у вас есть и вы можете удалить их, то, скорее всего, он будет работать (при условии, что вы установили расширение отладчика cython).