PyCharm de débogage à distance - se connecte mais ne peut pas démarrer le débogage

Les bases:

  • J'ai un projet django qui fonctionne très bien (à la fois en local et sur un serveur distant).
  • Je commence pycharm localement à l'aide d'un "débogage à distance" de profil et il a l'air bien.

    Starting debug server at port 4000
    Use the following code to connect to the debugger:
    import pydevd
    pydevd.settrace('<my local machines public ip addr>', port=4000, suspend=False)
    Waiting for connection...
  • Sur le serveur distant, j'ai mis de l'indicatif d'appel de pycharm-debug.oeuf en __init__.py (mais j'ai essayé de mettre dans d'autres endroits dans le code, trop).

  • Je démarre le serveur distant comme ce python manage.py runserver <remote domain name>:8000 et sur le local pycharm IDE/débogueur je vois:

    "Connected to pydev debugger (build 133.1347)"
  • Après cela, les choses en restent là... je ne comprends pas tous les commentaires sur où l'exécution est et pas de capacité dans le pycharm IDE pour "démarrer/continuer/exécuter" quoi que ce soit.

  • Sur le serveur distant si je <ctrl-c> il, je vois:

    File "/<path here>/pycharm-debug.egg/pydevd.py", line 1256, in settrace
    File "/<path here>/pycharm-debug.egg/pydevd.py", line 1305, in _locked_settrace

Ma conjecture est que tout est correctement connecté, mais je ne suis pas le voir une façon de commencer tout en cours d'exécution. J'ai "suspendre=False" ainsi, j'aurais attendu pour commencer. Lorsque j'essaie d'afficher une page contre le serveur distant, j'obtiens un "non connecté" pour que le serveur web n'est évidemment pas encore exécuté (si curl http://<remote server domain>:8000 - je obtenir curl: (7) Failed connect to <remote server domain>:8000; Connection refused). Sans le débogage à distance, cela fonctionne bien en cours d'exécution sur mon dev local de la machine ou sur le serveur distant.

Ce que je fais mal? 🙂 Merci!

Détails:

  • Sur le serveur distant qui exécute le code, un processus, je veux de débogage dans les principales __init__.py j'ai :

    import os
    import sys
    BASE_DIR = os.path.dirname(os.path.dirname(__file__))
    sys.path.append(BASE_DIR + '/pycharm-debug.egg')
    import pydevd
    pydevd.settrace('<my local machines public ip addr>', port=4000, suspend=False)
  • Local pycharm IDE montre ceci:

    Starting debug server at port 4000
    Use the following code to connect to the debugger:
    import pydevd
    pydevd.settrace('localhost', port=4000, suspend=False)  (tried with <public ip addr> for this, too.
    Waiting for connection...
    ---- and then, after I start the remote server process: ----
    Connected to pydev debugger (build 133.1347)

Autres notes:

  • J'ai essayé avec et sans virtualenv sur le serveur distant.
  • Je suis l'exécution du local pycharm IDE derrière normal Comcast cable modem-routeur avec redirection de port pour le port 4000 activée (et testé avec un nœud serveur de fixation pour le port 4000 qui a bien fonctionné quand j'ai fait un wget contre elle de mon serveur distant).

Je suis à une perte quant à la façon de "bosse" quoi que ce soit pour obtenir des choses en cours d'exécution et permettez-moi de démarrer le débogage.

Merci d'essayer de l'aider.

  • parfois, pycharm juste besoin d'un redémarrage...vraiment.
  • hé, oui... essayé une couple de fois, trop. 🙂
  • avez-vous également déposer le suspend=False? qui dit explicitement de ne pas définir un point d'arrêt (vérifier ma réponse)
  • Je n'étais pas en mesure de comprendre ce à l'aide des pydevd explicitement sur le serveur distant. Au lieu de cela, j'ai changé de direction et a utilisé le débogage distant via SSH tunnel qui s'est terminée en place fonctionne bien (tout à fait une de secours).
  • vous pouvez avoir des problèmes avec la python_remote_debug configurations.
InformationsquelleAutor John Q | 2014-05-25