Ceci est une suite à this question avec des détails supplémentaires puisque personne n'a aidé à y répondre. J'ai cloné le dernier repo QEMU et suivi le tutoriel this pour créer un programme Hello World pour arm-softmmu. J'ai tracé le TCG, plutôt les registres dans le bloc de base en utilisant les fonctions auxiliaires, mais je suis tombé sur la fonctionnalité de traçage et je voulais l'essayer. Après le documentation, il s'agit de mon fichier d'événements/tmp/après la suppression du commentaire du fichier d'événements de trace.Comment utiliser le backend simple de QEMU?
exec_tb
exec_tb_exit
La partie du fichier trace-événements dans lesquels le mot-clé désactiver a été supprimée pour permettre la trace est:
# TCG related tracing (mostly disabled by default)
# cpu-exec.c
exec_tb(void *tb, uintptr_t pc) "tb:%p pc=0x%"PRIxPTR
exec_tb_nocache(void *tb, uintptr_t pc) "tb:%p pc=0x%"PRIxPTR
exec_tb_exit(void *last_tb, unsigned int flags) "tb:%p flags=%x"
Voici comment configurer et exécuter l'exécutable qemu:
./configure --target-list=arm-softmmu --enable-trace-backends=simple
make
./qemu-system-arm -trace events=/tmp/events -M versatilepb -m 256M -nographic -kernel ~/FileName.bin
Depuis le répertoire arm-softmmu, je lance le script simple trace python de cette façon:
./scripts/simpletrace.py trace-events arm-softmmu/trace-*pid* | head
Est-ce que je fais quelque chose de mal ici? Depuis que je reçois absolument aucune information. Même le binaire après le traçage est juste une ligne courte (de charabia, bien sûr). Je m'attendais à une trace assez grande en réalité.