A dynamic program trace facility is very useful for program debugging, testing, validating, and profiling. A variety of tools equipped with dynamic program trace facilities have been developed and used. In this paper, we propose a universal execution trace framework for embedded software that uses QEMU, which is a virtual execution environment generator that uses instruction translation. In this framework, common intermediate instructions are defined to trace program execution in QEMU. A tool developer can develop a tool such as a system behavior analyzer by writing functions that collects trace data at locations of the inserted common trace instructions.
展开▼