Come eseguire il debug delle applicazioni Web2py?
Domanda
È possibile? Per debug intendo impostare punti di interruzione, ispezionare i valori e avanzare passo dopo passo.
Soluzione
Puoi eseguire il debug remoto delle app Web Python su TCP / IP con winpdb .
(Il link appare verso il basso a giugno 2019. Prova PyPI winpdb )
Altri suggerimenti
Non ho usato web2py, ma se funziona in una finestra di terminale, puoi usare roba standard pdb. Aggiungi questa riga da qualche parte nel tuo codice:
import pdb; pdb.set_trace()
Questo invocherà il debugger e si interromperà. Quindi puoi usare i comandi PDB : n per passare alla riga successiva, l per elencare il codice, s per entrare in una funzione, p per stampare valori, ecc.
È possibile eseguire il debug delle applicazioni basate su Web2py utilizzando la seguente configurazione:
- Eclipse IDE
- Installa Pydev in Eclipse
- Imposta i Breakpoint sul tuo codice, se necessario
- In Eclipse fai clic con il pulsante destro del mouse sul file web2py.py e seleziona Debug As - > Python Run
- Quando viene raggiunto un punto di interruzione, Eclipse passerà al punto di interruzione in cui è possibile ispezionare le variabili e scorrere il codice
Puoi anche usare Visual Studio 2010. Ecco come:
- Scarica e installa Python Tools per Visual Studio .
- Crea un nuovo progetto dal codice esistente ( File > Nuovo > Progetto da codice esistente ... )
- Specifica la cartella web2py e utilizza i valori predefiniti.
- Fai clic con il tasto destro su web2py.py e scegli Imposta come file di avvio .
- Imposta i punti di interruzione e premi F5 (esegui) o fai clic con il pulsante destro del mouse su web2py.py e scegli Inizia con debug .
Questa è una buona configurazione se usi già Visual Studio.
Sì, è possibile, grazie alla prevenzione dello span " Non sono ancora autorizzato a pubblicare schermate, ma ecco uno screenshot completo ospitato sul mio sito Web:
Sto eseguendo il debug delle applicazioni web2py con Eclipse e PyDev. Ecco un articolo: http://www.web2pyslices.com/main/slices/take_slice/2
Ecco un articolo sul debug di python con pdb, che funzionerà con web2py. http://sontek.net/debugging-python-with-pdb
Come affermato da Carl, è facile come:
- Installazione di PyDev in Eclipse
- Fai clic con il pulsante destro del mouse sul tuo progetto Web2Py, selezionando Debug As > Python Run
- Selezionando web2py.py come file da eseguire
Non sono necessari altri plug-in o download.
@Ned Batchelder ha quasi ragione, ma il modo standard di farlo in web2py è leggermente diverso.
Invece di `import pdb; pdb.set_trace (), si utilizza il codice:
from gluon.debug import dbg
dbg.set_trace()
Quando si esegue l'applicazione Web, l'applicazione si bloccherà quando raggiunge questa sezione di codice. Quindi vai a http://127.0.0.1:8000/admin/debug/interact (utilizzando l'URL di root per l'applicazione) e mostrerà un debugger completamente interattivo basato sul web:
Vedi documentazione .