1)编译qemu时要enable trace backend
./configure --enable-trace-backends=simple
2)添加你想要trace的event
$ cat /tmp/events
virtio_blk_req_complete
virtio_blk_handle_write
3)启动虚拟机
-trace events=/tmp/events,file=trace.bin
其中,在正常启动的的qemu程序中加入"-trace events=/tmp/events,file=trace.bin",其中/tmp/events就是要跟踪的event,而trace.bin就是trace产生的文件,不能直接读,而要通过工具来读。
4)获取trace结果
simpletrace.py trace-events trace.bin
5)有些模块也实现了自己的pretty-print工具,可以更方便的查看结果。比如你trace了9p的模块,可以通过以下工具查看。
analyse-9p-simpletrace.py trace-events trace.bin
原文:https://blog.51cto.com/zybcloud/2407542