您好,登錄后才能下訂單哦!
Qemu有自己的Trace框架并支持多個debug/trace后端包括:nop, dtrace, ftrace, log, simple, ust,可以幫助我們分析Qemu中的問題。關于這些backend的介紹,可以看這個鏈接:http://repo.or.cz/w/qemu/stefanha.git/blob_plain/refs/heads/tracing:/docs/tracing.txt,如果現(xiàn)有的trace point不能滿足你的需求,里面還有介紹如何添加新的trace point。這篇文章主要介紹一下Qemu內(nèi)嵌的一個backend:Simple trace的使用,它不需要安裝任何其他軟件就可以使用。
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產(chǎn)生的文件,不能直接讀,而要通過工具來讀。
4)獲取trace結果
simpletrace.py trace-events trace.bin
5)有些模塊也實現(xiàn)了自己的pretty-print工具,可以更方便的查看結果。比如你trace了9p的模塊,可以通過以下工具查看。
analyse-9p-simpletrace.py trace-events trace.bin
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。