2011-03-09 11 views
5

State usando Pycharm per scrivere un server.Pycharm non riconosce i punti di interruzione nei file non di prova

Ho alcune unittests che usano la libreria 'unittest' di Python.

Stavo solo eseguendo i test e tutto andava bene, potevo impostare i punti di interruzione ovunque nel codice. Ieri ho iniziato a eseguire il server tramite il debugger. Ho scoperto che i miei breakpoint non funzionavano più. Visivamente sono ancora lì, appaiono/si comportano in ogni modo come un break point funzionante, eccetto che in realtà non causano l'interruzione dell'esecuzione, sono semplicemente ignorati (come se fossero disabilitati).

Oggi quando ho provato a eseguire nuovamente i test, sto osservando lo stesso comportamento in tutti i file eccetto quelli nella mia libreria di test.

Ho provato un esperimento, aggiungendo un nuovo file al codice server con una semplice funzione al suo interno. Punto di interruzione nella funzione, funzione di chiamata da test, test di esecuzione tramite debugger, nessuna interruzione. Copiato il file nella mia directory 'tests', reimpostato il punto di interruzione nella funzione, modificato l'istruzione 'import' in modo che puntasse al nuovo percorso del file di test, eseguiva i test. Ora si ferma al punto di interruzione nel file.

Ho provato ogni "controllo di integrità" di base a cui riesco a pensare: uscire da PyCharm. Reinstallare PyCharm. Elimina le preferenze di PyCharm. Reboot. Ho ancora lo stesso identico comportamento.

Per quello che vale, 'correre al cursore' presenta lo stesso problema: in tutto tranne il file di test, viene eseguito senza interruzioni.

Ciò che è veramente pazzesco è che tutto stava funzionando bene ieri. Almeno i punti di interruzione funzionavano durante i test.

risposta

2

Una specie mi ha risolto da solo.

In Esegui-> Modifica configurazioni, ha selezionato la configurazione per il test.

In "Test: Cartella:", l'impostazione esistente era foo/bar/baz/my_project/tests.

Con questa impostazione ho avuto il problema: i breakpoint in 'test' funzionano, i punti di interruzione sotto il resto di 'mio_project' no.

L'ho modificato in foo/bar/baz/my_project. Ora tutto funziona come previsto, i punti di interruzione ovunque funzionano bene.

Altre persone sul mio progetto funzionano correttamente con l'impostazione originale: puntano solo alla directory "test" e possono impostare punti di interruzione ovunque.

Non sono sicuro del motivo per cui sono speciale e questo non funziona per me, ma ho una soluzione e sono stanco di lottare con esso così .... bei tempi.

1

Ehi Doug, tre cose che possono o non possono essere utili:

  1. che ho avuto lo stesso problema un paio di volte avanti con le precedenti 1.0 e 1.0.1 stampa con configurazioni di debug salvate - - ricreare la configurazione di debug ha risolto il problema tecnico. Bussa alla legna, ma non ho avuto il problema in 1.1.1. Non ho provato il candidato alla versione 1.2.
  2. Un collega ha avuto un problema simile, ma ha accidentalmente impostato i punti di interruzione su una copia esterna del file, non su ciò che PyCharm stava eseguendo.
  3. Infine, la mia esperienza è che le persone JetBrains sono state abbastanza brave a rispondere a problemi se si ping their user forum e/o submit a YouTrack bug.

Cheers, Rob

Problemi correlati