Android Studio for Platform (ASfP) integra il debug della piattaforma multilingue intorno alla scheda Collega nella finestra degli strumenti Debug:
- Seleziona Esegui > Collega a processo Android (Control+Alt+A) per collegare il debugger Java, il debugger nativo (LLDB in bundle) o entrambi a qualsiasi app o processo di sistema in esecuzione su un dispositivo fisico o su un dispositivo virtuale Cuttlefish.
- Ispeziona ogni libreria condivisa caricata (
.so) e il relativo ID build ELF di otto caratteri nel riquadro Librerie prima di allegare, con icone a forma di segno di spunta che verificano la corrispondenza dei simboli di debug locali inout/target/product/<device>/symbols. - Gestisci i prerequisiti del dispositivo dalla barra degli strumenti: filtra con Mostra processi di sistema, fai clic su Dispositivo root per eseguire
adb root(visualizzando Dispositivo con accesso root quando è attivo) e fai clic su Attiva JDWP per attivare JDWP sulle builduserdebug. - Imposta punti di interruzione condizionali e di eccezione, visualizza i valori delle variabili inline nell'editor, utilizza Drop Frame e Step Into intelligente e ispeziona i tipi C++ e Rust strutturati in fase di runtime.
Prima di utilizzare il debugger, crea la destinazione lunch in modo che esista l'indice dei simboli out/target/product/<device>/symbols/.build-id locale e carica o avvia un'immagine del dispositivo corrispondente.
Debug Java e doppio debug Java e nativo
Per eseguire il debug di un'applicazione Java o Kotlin, di un'app di sistema (ad esempio
com.android.messaging, Impostazioni o SystemUI) o di un processo che chiama codice JNI
e C++ o Rust, completa i seguenti passaggi:
- Imposta i punti di interruzione nei file sorgente Java, Kotlin, C, C++ o Rust.
- Seleziona Esegui > Collega a processo Android (Ctrl+Alt+A). ASfP apre una scheda Allega bloccata all'interno della finestra dello strumento Debug.
- Seleziona il dispositivo di destinazione dal menu a discesa dei dispositivi. Se JDWP non è
abilitato in una build
userdebug, fai clic su Abilita JDWP. ASfP impostapersist.debug.dalvik.vm.jdwp.enabled=1e riavvia il dispositivo. Quando è attivo, il pulsante mostra JDWP abilitato con un'azione di clic con il tasto destro del mouse Disabilita JDWP. - Seleziona il processo di destinazione dalla tabella (i processi Java e ART mostrano un'icona a forma di tazza di caffè).
- Nella parte inferiore della scheda Allega, seleziona Debugger Java, Debugger
nativo o entrambi. Se selezioni entrambe le opzioni, si aprono due schede collegate nella finestra degli strumenti Debug:
<process> (<pid>)per LLDB integrato e<process> (<pid>)-jdwpper Java. I loro cicli di vita sono collegati, quindi l'interruzione di una sessione comporta l'interruzione di entrambe. - Fai clic su Allega e interagisci con l'app sul tuo dispositivo per raggiungere i punti di interruzione.

Debug del processo di sistema (C e C++) e verifica dei simboli
Per eseguire il debug di daemon di sistema, HAL o servizi di sistema (ad esempio
android.hardware.bluetooth-service.cuttlefish, surfaceflinger o
audioserver), completa i seguenti passaggi:
- Apri Esegui > Collega a processo Android (Ctrl+Alt+A). Se la barra degli strumenti
mostra Root Device, fai clic per eseguire ASfP
adb roote visualizzare Device is rooted. - Seleziona Mostra processi di sistema nella barra degli strumenti in alto e filtra in base al processo di destinazione.
- Verifica i simboli di debug locali nel riquadro Librerie: la selezione di un processo
compila la tabella Librerie con ogni libreria condivisa ELF (
.so) caricata nel processo e i primi otto caratteri esadecimali del relativo ID build. ASfP confronta ogni ID build conout/target/product/<device>/symbols(symbols/.build-idè necessario per risolvere le librerie all'interno degli APEX):- Le librerie verificate mostrano un'icona con un segno di spunta. Punta a una riga risolta
per visualizzare l'anteprima del percorso completo del simbolo
.debuglocale. - Le librerie non risolte senza simboli locali corrispondenti mostrano un'icona di avviso.
- Le librerie verificate mostrano un'icona con un segno di spunta. Punta a una riga risolta
per visualizzare l'anteprima del percorso completo del simbolo
- Rilevamento dei processi non Java: quando selezioni un processo C++ o Rust
(contrassegnato con un'icona esagonale
C), ASfP nasconde Debugger Java e mostra Debug Java non disponibile, non è un processo Java mantenendo selezionato Debugger nativo. - Imposta i punti di interruzione nei file sorgente C, C++ o Rust, fai clic su Collega e attiva il percorso del codice sul dispositivo.

Eseguire il debug del codice Rust
ASfP esegue il debug del codice della piattaforma Rust con lo stesso debugger LLDB integrato utilizzato per C
e C++. Non è richiesta alcuna configurazione manuale di server o adattatore esterno: ASfP utilizza
lldb-dap dalla toolchain in bundle e carica automaticamente i pretty-printer Rust
dai prebuilt AOSP in modo che i tipi standard come String, Vec,
HashMap e Option visualizzino valori strutturati nel riquadro Variabili.
Collegare a un processo Rust in esecuzione su un dispositivo
Segui i passaggi descritti in Debug del processo di sistema (C e C++): apri Esegui > Collega a processo Android, verifica che Il dispositivo è sottoposto a rooting e che i simboli locali mostrino un segno di spunta nel riquadro Librerie, mantieni selezionata l'opzione Debugger nativo e fai clic su Collega. Gli stack frame Rust e C o C++ vengono visualizzati insieme nella stessa sessione di debug.
Eseguire il debug di un modulo rust_test o rust_test_host
- Apri il file
Android.bpche dichiara una destinazionerust_testorust_test_hoste fai clic sull'icona Esegui nel margine accanto al tipo di modulo. - Seleziona Debug "<ModuleName>". ASfP crea la destinazione, avvia il test binario in LLDB sulla macchina host o sul dispositivo connesso e si interrompe in corrispondenza dei punti di interruzione Rust.
- Per eseguire il debug di una singola funzione di test o personalizzare i comandi di avvio di LLDB, apri Esegui > Modifica configurazioni, seleziona la configurazione Soong Test generata e imposta Metodo o espandi le opzioni Debugger. Per ulteriori informazioni sulle opzioni di configurazione di Soong Test, consulta Testare il codice della piattaforma con atest.
