2012-10-19 6 views

Répondre

2

Voici comment je debug de configuration, ce qui est légèrement différent, mais en fonction du tutoriel lux-rendu. Tout d'abord, créez le fichier .py, appelons-le debug.py, qui contiendra une fonction que nous appellerons plus tard pour installer le déboguage. Mettez ce fichier dans le même dossier que le __init__.py principal de votre module. Conformément au didacticiel lux-renderer, ajoutez le code suivant en mettant à jour PYDEV_SOURCE_DIR.

import sys 

def startdebug(): 
    try: 
     # set the PYDEV_SOURCE_DIR correctly before using the debugger 
     PYDEV_SOURCE_DIR = 'C:\Program Files\eclipse\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc' 

     # test if PYDEV_SOURCE_DIR already in sys.path, otherwise append it 
     if sys.path.count(PYDEV_SOURCE_DIR) < 1: 
      sys.path.append(PYDEV_SOURCE_DIR) 

     # import pydevd module 
     import pydevd 

     # set debugging enabled 
     pydevd.settrace(None, True, True, 5678, False, False) 
    except: 
     pass 

Lors du réglage du PYDEV_SOURCE_DIR vous assurer de pointer vers le org.python.pydev.debug_xxxxx. Il y a un autre dossier similaire à ceci. Pour vous assurer que vous avez le bon dossier, il contiendra un dossier/pysrc.

Maintenant dans votre __init__.py principal, cela doit venir avant que toute autre instruction d'importation fonctionne correctement. Ajoutez ce qui suit directement sous la section bl_info, car étrangement blender l'analyse elle-même. L'avoir ici évite d'ajouter des traces par fichier comme le tutoriel lux-render.

  1. Ajouter un certain point d'arrêt à la version dans le dossier add-ons,
  2. Passer au point de vue de débogage,
  3. Démarrer Eclipses serveur de débogage,
  4. Démarrer mélangeur
  5. Exécuter le script et il sera frapper le point d'arrêt.

Les problèmes communs que je trouve les gens se rencontrent:

  • pointant vers le chemin du mauvais dossier de débogage pydev, assurez-vous qu'il ya un dossier/pysrc
  • Lorsque les mises à jour PyDev, mettez à jour le PYDEV_SOURCE_DIR comme debug_xxxxx aura changement
  • ne pas avoir serveur exécutant Eclipse,
  • mise en points d'arrêt sur une copie locale des fichiers au lieu de la version dans le mélangeur add-on répertoire
  • sauvegarder le script ne signifie pas que blender le rechargera, utilisera imp, désactivera/renera le module ou redémarrera Blender.
3

Il existe un très bon e-book écrit par Witold Jaworski sur la programmation de Blender. Il comprend des chapitres avec des instructions étape par étape comment configurer Eclipce avec PyDev pour déboguer les modules complémentaires de Blender. Programming Add-ons for Blender 2.5

+0

Je suis sur un ordinateur Mac. Je connais celui-ci, il ne fonctionne que lorsque vous ne démarrez pas Blender à partir du terminal (ce qui signifie que le démarrage de Blender.app fonctionne). Par conséquent, vous n'avez pas d'informations sur la console? Aussi la console de débogage ne fonctionne pas dans Eclipse (aucun débogueur actif ou erreur d'évaluation) Une idée? –

+0

Juste pour donner des crédits à Witold Jaworski, c'est très bien fait - bon travail ... –

+0

Vous devez exécuter le débogueur contre la version dans le dossier du module. Le débogueur s'exécute sur la version qui est enregistrée. Il y a des façons de contourner cela en lançant depuis eclipse, mais la sortie ira à la console et ne sera vidée que lorsque Blender sera fermé. Donc, mettez les points de rupture sur la version installée, une fois qu'ils sont touchés, eclipse ouvrira automatiquement le fichier et vous pourrez déboguer. – neomonkeus