2014-11-25 10 views
7

Sto provando a eseguire il debug di un'applicazione che sto scrivendo utilizzando Android Studio ma non riesco a ottenere alcuna utile informazione di debug dalla vista "Debug" di Android Studio. Sto lanciando la mia applicazione con l'icona bug-looking "debug", ma il "debug" vista non ha nulla di utile (non stack frame da mia domanda, per esempio):Applicazione Android priva di informazioni di debug in Studio Android

screenshot

Anche se la mia applicazione si arresta in modo anomalo Non ricevo alcuna informazione utile. Come ricordo, il plugin ADT ti avrebbe automaticamente rilasciato sulla linea che causava il crash.

Devo fare qualcos'altro per rendere "debuggabile" l'applicazione in Android Studio? Ho anche provato a forzare lo android:debuggable="true" nel mio AndroidManifest.xml ma inutilmente. Android Studio sembra essere collegato al processo in esecuzione (l'app mostra il messaggio "collegamento al debugger" per alcuni secondi quando viene avviato per la prima volta).

+0

Disconnetti il ​​telefono e Connetti di nuovo ... Potrai vedere logcat ... o un altro modo è semplicemente riaprire la tua vista di Logcat .... –

+0

Posso davvero vedere logcat bene, non riesco a vedere il programma impila i frame e non ottengo alcuna informazione quando l'app si arresta in modo anomalo ... – mgalgs

risposta

0

Dopo l'aggiornamento di Android Studio questo problema è andato via. Non sono sicuro di quale fosse il problema.

5

Ci sono alcune cose da controllare:

  • Se la vostra applicazione-debugger sta lavorando e fermandosi sul breakpoint normali, forse è necessario impostare un'eccezione-breakpoint:
    • Aprire Debugger
    • Press "Visualizza punti di interruzione"
    • Di solito, dovrebbe essere presente un punto di interruzione chiamato "Qualsiasi eccezione" con caselle di controllo su "Eccezione rilevata" e "Eccezione non rilevata". In caso contrario, aggiungere un breakpoint di eccezione e specificare i tipi di eccezioni su cui si desidera interrompere il debugger (è possibile utilizzare i caratteri jolly nei nomi delle eccezioni, ad esempio * Eccezione).
  • Se la vostra app-debugger non funziona, controllare le seguenti opzioni:

    • Verificare se è stata abilitata USB Debugging nelle opzioni di sviluppo del dispositivo
    • verificare se si ha autorizzati il computer come macchina di sviluppo nelle opzioni di sviluppo del dispositivo (se non è sicuro, deseleziona l'elenco delle autorizzazioni dalla pagina delle opzioni dello sviluppatore e ricollega il dispositivo)
    • Controlla se il tuo computer di sviluppo ha solo un processo adb-server in esecuzione lo sfondo (se di più , Uccidere tutti loro con un mananger di processo e di ripartire con "start-server di adb")
    • Add "debuggable vero" al tuo debug-buildtype in build.gradle:

      buildTypes { 
          debug { 
           debuggable true 
          } 
          ... 
      } 
      
  • Se la vostra app-debugger non funziona ancora, riavviare il computer e reinstallare i driver adb per il dispositivo. Assicurati che non vi siano driver in conflitto attivi con più di un dispositivo connesso (magari collegandoti solo uno alla volta).

Nota: anche se i punti di interruzione delle eccezioni funzionano, potrebbero non essere affatto utili, a seconda del tipo di arresto anomalo. La maggior parte delle volte, il debugger si arresta nel gestore di eccezioni Zygote in cui non si ottengono molte informazioni utili o stacktrace. In questi casi, è più semplice consentire al debugger di riprendere o riprodurre l'arresto anomalo senza un debugger e controllare l'output di logcat per uno stacktrace in ERROR-loglevel dell'output logcat della propria app.Questi stacktraces devono avere informazioni sulla riga selezionabili, consentendo così di impostare un punto di interruzione normale su una riga di codice pertinente nel codice sorgente della tua app per analizzare il problema.

Problemi correlati