2009-05-14 16 views
13

Tengo Pydev configurado correctamente para que ejecute mi aplicación, sin embargo, cuando quiero inspeccionar/rastrear mi código configurando puntos de interrupción, el depurador no se activa (no puede rastrear). ¿Alguien tiene alguna idea de lo que está pasando aquí?¿Cómo depuro correctamente usando Eclipse y Pydev?

+0

¿Llamas al depurador con la ventana del editor correcta seleccionada (resaltada)? Deberías contar más sobre lo que haces. Python o Jython por ejemplo. ¿Se puede ejecutar realmente cualquier código de Pyhon, etc. – jbasko

+0

sí, todo el código python funciona. Primero establezco un punto de interrupción en una vista, luego selecciono manage.py, hago clic en depuración y funciona bien. Luego voy a la url para esa vista, pero el punto de interrupción no se activa. – prodev42

Respuesta

4

--noreload opción es crucial, de lo contrario el servidor se bifurca y su punto de interrupción no se disparará.

2

Normalmente no tendría que seleccionar manage.py y presionar debug. Según su descripción, parece que no configuró los parámetros de inicio de Django en el panel de configuración Ejecutar/Depurar.

Estas son algunas instrucciones paso a paso:

http://pydev.blogspot.com/2006/09/configuring-pydev-to-work-with-django.html

y

http://developeradventures.blogspot.com/2008/03/eclipse-django-debugging.html

La parte importante es la adición de la entrada a la configuración Ejecutar/Depurar. Cuando es hora de depurar, configure el punto de interrupción, en la barra de herramientas de Eclipse, haga clic en la flecha desplegable del botón Depurar y seleccione el proyecto de Django que haya definido. Luego, desde la ventana de un navegador dirígete a la URL de tu servidor Django. Eclipse debe detenerse en el punto de interrupción.

1

Ok, creo que encontré cuál era mi problema. Tuve que establecer el punto de interrupción en la declaración de def en views.py en lugar de las declaraciones posteriores.

1

Si está depurando el Django runserver, asegúrese de especificar el parámetro de línea de comando --noreload. De lo contrario, el depurador termina buscando en la instancia de python incorrecta y nunca dispara puntos de interrupción.

Cuestiones relacionadas