아무도 답변을 찾지 못해 추가 정보가있는 this 질문까지 이어집니다. 최신 QEMU 레포를 복제 한 후 this 자습서를 따라 arm-softmmu 용 Hello World 프로그램을 만들었습니다. 나는 도우미 함수를 사용하여 기본 블록의 레지스터 대신 TCG를 추적했지만 트레이스 기능을 발견 했으므로 사용해보고 싶었다. documentation 다음에, 이는 추적 이벤트 파일의 주석 처리를 제거한 후 my/tmp/events 파일입니다.QEMU의 간단한 추적 백엔드 사용 방법은 무엇입니까?
exec_tb
exec_tb_exit
비활성화 키워드가 추적을 가능하게 제거하는 트레이스 이벤트 파일의 일부는 다음과 같습니다
./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
:
# 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"
이것은 내가 구성하고 QEMU 실행 파일을 실행하는 방법입니다
arm-softmmu 디렉토리에서 간단한 추적 파이썬 스크립트를 다음과 같이 실행합니다.
./scripts/simpletrace.py trace-events arm-softmmu/trace-*pid* | head
여기에 잘못된 것이 있습니까? 나는 절대적으로 아무런 정보도받지 못하기 때문에. 추적 후 바이너리조차도 짧은 줄 (물론 횡설수설)입니다. 나는 실제로 충분히 큰 추적을 기대했다.