2010-07-28 16 views
6

Possiedo un progetto Java che sto eseguendo il debug in NetBeans (versioni 6.8 e 6.9) e non riesco a entrare o scavalcare il codice. Posso solo impostare i punti di interruzione e poi continuare fino ai punti di interruzione. Questo non è molto conveniente. Mi piacerebbe essere in grado di scorrere il codice senza impostare punti di interruzione ovunque e correndo verso di loro. Sono collegato alla JVM perché non può essere avviato in NetBeans (è avviato da un programma C tramite JNI). C'è un problema relativo al collegamento a una JVM?Perché non riesco ad accedere al/sul codice sorgente Java in NetBeans Debugger?

Se mi capita di provare a passare su una riga di codice, il debugger si blocca (il pulsante di pausa è disabilitato) e l'unica opzione è quella di staccare/terminare la sessione di debug.

+0

Non ho soluzioni, solo impressioni. A volte vedo cose simili nei netbeans. Penso, ma non ne sono sicuro, è perché la fonte nel progetto non è la stessa versione o la stessa fonte della cosa in esecuzione. E inoltre, cancella l'aiuto .netbeans/6.x/var/cache a volte. – Istao

risposta

7

Quando il punto di interruzione è stato raggiunto e hai violato il codice java. Prova:

  1. Finestra -> Debug -> Sorgenti
  2. Add/Confermare la directory principale delle sorgenti Java è impostata come 'Source Root'.
+0

L'ho visto molto quando utilizzo progetti freeform in Netbeans. Devi aggiungere una directory di origine alle finestre di debug. Potrebbe essere necessario rimuovere e aggiungere nuovamente i punti di interruzione. –

1

Dopo aver perso così tanto tempo per impostare i punti di interruzione e l'esecuzione o l'utilizzo di Debug \ Debug Project, sono stato fortunato. Nel menu Debug, ho appena selezionato 'Step Into' e l'IDE ha iniziato a eseguire il mio codice un passo alla volta, evidenziando la linea attiva e ingrigendo l'evidenziazione quando è richiesta una risposta dell'utente. (Anche l'utilizzo del suggerimento sopra riportato di disattivare il codice src di Java aiuta molto.)

0

Ho visto questo comportamento in UN progetto fornito con un libro JSP. Step over ha funzionato bene in altri progetti, ma in un particolare progetto eseguendo un "Step over" è stato eseguito solo al successivo breakpoint anziché alla riga successiva.

Ho rintracciato il problema alle differenze nella proprietà debug.classpath nel file project.properties.

Bad progetto ha avuto questo: debug.classpath = $ {} build.classes.dir.real: $ {} javac.classpath: $ {} j2ee.platform.classpath

buoni progetti con Passaggio di lavoro su Avendo questo invece: debug.classpath = $ {javac.classpath}: $ {build.classes.dir}

Cambiando debug.classpath risolto il problema.

Problemi correlati