Pycharm CE não atinge pontos de interrupção em meu projeto Django
Tenho meu projeto devidamente configurado para funcionar manage.py
no lugar certo, com as configurações certas.

Também tenho pontos de interrupção de depuração definidos em um método que sei com certeza está sendo executado (coloquei uma instrução de impressão lá e ela foi executada conforme o esperado). Os pontos de interrupção não são desabilitados ou condicionais:

Quando clico no botão "Executar no modo de depuração", usando a configuração de execução acima (tenho certeza que é a mesma porque é a única que configurei para este projeto), esta é a saída do console que recebo:
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.
Quando tentei inserir um ponto de interrupção manage.py
, ele funcionou conforme o esperado, disparando apenas quando eu clicava no botão 'depurar'. No entanto, depois que o aplicativo foi iniciado, quando eu uso um cliente REST para acionar o método acima, aquele com pontos de interrupção nele, os pontos de interrupção não são acionados e o depurador não inicia. Recebo uma 200 OK
resposta em meu cliente REST, mas o PyCharm não para e executa o depurador em nenhum momento.
Eu olhei outras respostas que recomendavam a configuração de "depuração compatível com Gevent" (que eu não tenho, porque estou usando o Community Edition) e tentei excluir a .idea/
pasta do projeto, o que também não corrigiu o problema . Não tenho certeza do que mais pode estar causando isso. Eu só quero depurar meu programa.
As informações da minha versão do PyCharm são
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
O que pode estar fazendo com que os pontos de interrupção não sejam acionados e como faço para corrigir isso? Preciso de pontos de interrupção para depurar outras partes do meu programa.
Respostas
Você está executando o servidor em um console por acaso? Se for esse o caso, tente interromper a execução do servidor no console e reinicie o do PyCharm
Eu estava tendo um problema semelhante anteriormente no PyCharm quando estava chamando executor.submit. Tive que inserir uma linha solicitando os resultados do código para invocar novamente o comportamento de depuração esperado. Se o seu código for encadeado, você pode querer começar por aí.
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
Edit: Adicionando o link ao tópico que me ajudou com um comportamento semelhante no PyCharm. concurrent.futures.ThreadPoolExecutor não imprime erros
Minha configuração de trabalho atual é:

Ele não possui nenhum caminho de script ou parâmetros.
Quando clico no botão verde "Depurar", o comando executado automaticamente é: /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
E o seu ?
Olá, estou escrevendo esta resposta porque não posso comentar por causa de minha reputação no. Por acaso, você instalou o kit de ferramentas do depurador cython que o pycharm insiste em sugerir? Nesse caso, enfrentei o mesmo problema. A solução é excluir de alguma forma os aceleradores de cito. Você pode seguir este link para fazer isso.
Basicamente, você tem que ir ao diretório chamado _pydevd_bundle
e deletar os pydev*.so
arquivos. Agora, isso requer privilégio de root. Se você tiver isso e for capaz de excluí-los, provavelmente funcionará (desde que você tenha instalado a extensão do depurador cython).