Pycharm CE n'atteint pas les points d'arrêt dans mon projet Django
J'ai mon projet correctement configuré pour s'exécuter manage.py
au bon endroit, avec les bons paramètres.

J'ai également défini des points d'arrêt de débogage dans une méthode dont je sais avec certitude qu'elle est en cours d'exécution (j'ai mis une instruction d'impression là-bas et elle s'est exécutée comme prévu). Les points d'arrêt ne sont ni désactivés ni conditionnels:

Lorsque je clique sur le bouton "Exécuter en mode débogage", en utilisant la configuration d'exécution ci-dessus (je suis sûr que c'est la même parce que c'est la seule que j'ai configurée pour ce projet), voici la sortie de la console que j'obtiens:
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.
Lorsque j'ai essayé de mettre un point d'arrêt manage.py
, cela a fonctionné comme prévu, se déclenchant juste au moment où j'ai appuyé sur le bouton «déboguer». Cependant, après le démarrage de l'application, lorsque j'utilise un client REST pour déclencher la méthode ci-dessus, celle avec des points d'arrêt, les points d'arrêt ne se déclenchent pas et le débogueur ne démarre pas. 200 OK
J'obtiens une réponse dans mon client REST, mais PyCharm ne s'arrête pas et n'exécute pas le débogueur à tout moment.
J'ai regardé d'autres réponses qui conseillaient de définir "Débogage compatible Gevent" (que je n'ai pas, car j'utilise Community Edition), et j'ai essayé de supprimer le .idea/
dossier du projet, ce qui n'a pas non plus résolu le problème . Je ne sais pas ce qui pourrait en être la cause. Je veux juste déboguer mon programme.
Les informations de ma version PyCharm sont
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
Qu'est-ce qui pourrait empêcher le déclenchement des points d'arrêt et comment résoudre ce problème? J'ai besoin de points d'arrêt pour déboguer d'autres parties de mon programme.
Réponses
Exécutez-vous votre serveur dans une console par hasard? Si tel est le cas, essayez d'arrêter le serveur en cours d'exécution dans la console et redémarrez celui de PyCharm
J'avais un problème similaire précédemment dans PyCharm lorsque j'appelais executor.submit. J'ai dû insérer une ligne demandant les résultats du code afin de ré-invoquer le comportement de débogage attendu. Si votre code est threadé, vous souhaiterez peut-être commencer par là.
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: Ajout du lien vers le fil de discussion qui m'a aidé avec un comportement similaire dans PyCharm. concurrent.futures.ThreadPoolExecutor n'imprime pas les erreurs
Ma configuration de travail actuelle est sur ceci:

Il n'a pas de chemin de script ni de paramètres.
Lorsque je clique sur le bouton vert "Déboguer", la commande lancée automatiquement est: /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
Et le-tien ?
Salut, j'écris cette réponse car je ne peux pas commenter à cause de ma réputation non. Par hasard, avez-vous installé la boîte à outils de débogage cython que pycharm continue de suggérer? Si tel est le cas, j'ai rencontré le même problème. La solution est de supprimer d'une manière ou d'une autre les accélérations cython. Vous pouvez suivre ce lien pour le faire.
En gros, vous devez aller dans le répertoire appelé _pydevd_bundle
et supprimer les pydev*.so
fichiers. Maintenant, cela nécessite le privilège root. Si vous avez cela et que vous êtes en mesure de les supprimer, cela fonctionnera probablement (à condition que vous ayez installé l'extension de débogage cython).