20.04.2017

Lauterbach TRACE32 mit erweiterter Android-Debugging-Unterstützung für ARM64

Lauterbach hat seine Android-Debugging-Unterstützung für die Versionen L, M und N auf der Grundlage der Android RunTime (ART) erweitert. Sie ermöglicht das Debugging der Ahead-of-time Android-Frameworks und Apps.


bild: Lauterbach

TRACE32 erkennt automatisch Ahead-of-time Objekte und lädt dann die entsprechenden DWARF/ELF-Infos. Wenn diese nicht verfügbar sind, kann der Debugger die OAT-Daten analysieren, um daraus die Debug-Informationen zu extrahieren. Darüber hinaus unterstützt TRACE32 die Hybrid-Kompilierung, die in Android N eingeführt wurde.


Für den interpretierten Code ist es möglich, den Stack-Frame mit native-to-Java und Java-to-native Übergängen anzuzeigen. Ein Doppelklick auf eine Java-Methode zeigt den High-Level-Code zusammen mit der Dalvik-Disassemblierung an. Wenn der Code just-in-time kompiliert wurde, verwendet TRACE32 bei der JIT-Cache Analyse die Symbole der Android libart.so-Library, um die Namen und Bereiche der "Hot" -Methoden zu erhalten.



Die TRACE32 Linux-Awareness ...

bietet auch Zugriff auf die Kernel-Ressourcen als Taskliste, Kernelprotokolle und Device-Tree-Darstellung an. Das Debuggen des Linux-Kernels, der Kernel-Module sowie native Prozesse und Bibliotheken über JTAG ist durch die Verwendung von dedizierten Menüs und Befehlen möglich. Dank der erweiterten MMU-Unterstützung ermöglicht TRACE32 den Zugriff auf den kompletten virtuellen Adressraum.


Dies gibt dem Entwickler die Möglichkeit, in den Kontext eines Prozesses zu wechseln und dort seinen Status jederzeit zu überprüfen.



Das sogenannte Post-mortem Debuging ...

wird auch unterstützt. Dabei wird der Inhalt des Tracespeichers in den TRACE32-Instruction-Set-Simulator geladen. Durch das Einstellen einiger MMU-Konfigurationsregister und das Laden der Linux-Awareness hat der Entwickler dann Zugriff auf den Systemstatus zu dem Zeitpunkt, in dem die Tracedaten abgespeichert worden sind.


 


--> -->