2015-12-14 24 views
5

Sto tentando di eseguire un'attività in modalità di debug e di fermarla nei punti di interruzione, ma non sembra funzionare. Il compito viene eseguito normalmente, ma l'IDE mi dà un errore di presa:Attività di debug gradle in IntelliJ

Error running MyProject [myTask]: Unable to open debugger port (127.0.0.1:52550): java.net.SocketException

Nota che la porta si tenta di utilizzare le modifiche su ogni tentativo. Ho pensato di aggiungere qualcosa a VM Options: nella configurazione dell'attività ma non ho idea di cosa.

+0

Questo ti aiuta? http://stackoverflow.com/questions/17179886/using-intellij-to-set-breakpoints-in-gradle-project – Dropout

+0

No. Sono nuovo di gradle/groovy e non sono molto sicuro su come implementare il soluzione fornita. Devo dichiarare una nuova attività chiamata 'run'? Ho provato ad aggiungere 'run {debug true}' per esempio, ma mi dà un'eccezione 'Impossibile trovare il metodo run() ...' – Konstantine

+0

Dato che stai usando IntelliJ, le istruzioni nella domanda qui possono aiutarti: http : //stackoverflow.com/questions/33816953/how-to-debug-play-2-application-built-with-gradle - nota che non puoi realmente eseguire il debug dei file build.gradle. –

risposta

1

Ho avuto un problema simile a questo, ma non ho potuto nemmeno costruire con gradle in quanto mi avrebbe dato "Impossibile aprire la porta debugger (127.0.0.1:xxxxx):" quando è arrivato a un determinato sottoprogetto

Quello che ho trovato era un carattere speciale utilizzato in un char char degreeSymbol = '°'; che stava causando un arresto anomalo e per questo motivo non era in grado di aprire la porta del debugger.

C'è una attività gradle chiamata "test" nella cartella di verifica che troverà questo problema e mostra esattamente dove si trova.

In IntelliJ community edition 2016.2 è possibile trovarlo selezionando Visualizza> Finestre degli strumenti> Gradle. Quindi espandi il nome del tuo progetto (root)> attività> verifica.

per risolvere il problema sia cambiare il carattere speciale in una stringa unicode final String DEGREE = "\u00b0"; o nella vostra gradle.build radice fare:

apply plugin: 'java' 
compileJava { options.encoding = "UTF-8" } 

o se si dispone di più sotto-progetti:

allprojects { 
    apply plugin: 'java' 
    compileJava { options.encoding = "UTF-8" } 
} 
0

Crea una nuova configurazione di esecuzione. Scegli "Applicazione" come tipo di configurazione (cioè non "Gradle"). Quindi scegliere la classe principale da eseguire. IntelliJ eseguirà innanzitutto gradle come al solito ed eseguirà la classe scelta in modalità debug. Non sono sicuro che ci siano dei limiti poiché ho appena trovato questa soluzione da solo.