Google 致力于为黑人社区推动种族平等。查看具体举措
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Miglioramenti del kernel al debug LLDB / C ++

La versione Android 8.0 include miglioramenti del kernel che aiutano gli sviluppatori a creare applicazioni migliori migliorando la loro esperienza di debug.

I kernel Android arm64 supportano l'impostazione di watchpoint su indirizzi di memoria che non sono allineati a 4/8 byte e riportano tutti gli accessi a tali indirizzi.

Implementazione

La funzione funziona su qualsiasi dispositivo ARM a 64 bit. L'aggiunta del supporto pertinente per hardware / kernel a 32 bit è facoltativa. Tutte le modifiche necessarie al kernel sono già state fatte.

Questa funzionalità è inclusa nei kernel comuni 4.4 e versioni successive. Per aggiungerlo a un kernel che non lo include già, seleziona i CL necessari nella build del kernel. Scegli il set di patch in base alla versione su cui si basa il tuo kernel, poiché le patch hanno richiesto alcune modifiche a causa dell'evoluzione della base di codice del kernel nel tempo:

  • ramo android-4.4:
  • ramo android-4.9:

    Questa funzione implementa un'estensione dell'API ptrace per supportare la scrittura di un debugger.

    Validazione

    C'è un autotest del kernel nel repository upstream, un test CTS e ci sono test CTS aggiunti che esercitano la nuova API del kernel:

    https://android.googlesource.com/platform/bionic/+/master/tests/sys_ptrace_test.cpp