原文出处:QEMU当前的文档 qemu/docs/devel/tracing.txt 一、介绍 这篇文档描述了QEMU追踪的整体架构和如何使用追踪功能来进行debug、性能分析或者监测运行状况。 二、快速开始 步骤1. 编译QEMU时带上’simple’trace追踪后端: ./configure –enable-trace-backends=simple make 步骤2. 创建一个写有你想追踪的事件(events)的文件 echo memory_region_ops_read >/tmp/events 步骤3. 运行虚拟机来产生一个追踪文件 qemu -trace events=/tmp/events … #加上其他你需要的qemu选项参数 步骤4. 以美观的形式打印出二进制的追踪文件Pretty-print the binary trace file: ./scripts/simpletrace.py trace-events-all trace-* #用QEMU的进程号(pid)来代替”*” 三、Trace events 1. 设置子文件夹 Sub-directory setup 在源码目录的每个文件夹中都可以在trace-events文件中声明一组静态的trace events。所有包含有trace-events文件的子文件夹必须被列在源码根目录Makefile.objs的trace-events-subdirs项中。这样在编译时,被列出的子文件夹的trace-events文件就会被tracetool脚本处理来生成相关的追踪代码。 单独的trace-events文件会被merged到一个trace-events-all文件中,trace-events-all文件也将会被安装到/usr/share/qemu目录中,并改名为trace-events,这个文件最终会被simpletrace.py脚本用作simpletrace数据格式的追踪分析。 在子文件夹中,以下的文件会被自动生成 trace.c – the trace event state declarations trace.h – the trace event enums […]