34 votes

Débogage d'une extension Python dans Eclipse

J'ai une extension Python que j'ai réussi à être construit et utilisé sur Windows, OSX et linux. J'ai maintenant besoin d'être en mesure de débogage Python extension. Je suis opposé à l'utilisation de gdb à la ligne de commande, donc je voudrais vraiment obtenir que cela fonctionne dans Eclipse.

Pour commencer, j'ai fait de mon mieux pour suivre les instructions de la section http://www.heikkitoivonen.net/blog/2008/07/21/debugging-python-extension-written-in-c-with-eclipse/, et j'ai ajouté le dossier de la source Python ainsi que le dossier pour l'extension python code source de dossiers pour le projet vide. Depuis qu'il est relativement facile d'obtenir les versions de débogage de tout le nécessaire sur linux, j'ai commencé avec le débogage de développement d'Ubuntu.

Une fois que j'ai une version de débogage de python (appelons cela python_d), j'ai couru le setup.py pour mon extension avec

python_d setup.py build

qui doit également produire une version de débogage du module d'extension. J'ai vérifié que les symboles sont exportées par l'ouverture de l'extension comme une application sous Eclipse et je peux voir le code source lié avec le Python objet partagé.

Maintenant, si je créer un nouveau projet dans Eclipse avec le dossier de mon code, et d'ajouter un point d'arrêt dans la source qui est utilisé pour la création de l'extension, il ne s'arrête pas au point d'arrêt. Il est tout à fait possible qu'il me manque quelque chose d'assez critique ici, mais pour la vie de moi je ne peux pas le faire fonctionner. Le noeud du problème est:

Comment pouvez-vous obtenir de l'Éclipse de s'arrêter à un point d'arrêt dans un Python module d'extension?

1voto

kxn Points 11

Quel compilateur utilisez-vous, MSVC ou GCC? Pour MSVC, vous pouvez commencer par démarrer python et attacher le fichier python_d.exe (windbg ou visual studio), puis charger le module, configurer le point d'arrêt et vérifier si son symbole est bien chargé dans les fenêtres de module debug-> ( MSVC).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X