I'm using qemu version 0.8.2 on linux.
I'm currently successful in creating the result.txt (with the command: prof /intsall_path/qemu
gmon.out > result.txt), but the call graph created does not show my functions of interest.
For example i'm trying to understand the sequence of calls qemu makes to read/write from the disk image. Using print statements i see the function ide_read_dma_cb (from hw directory, file
ide.c) being called; as well as bdrv_read from (qemu root directory, file block.c). The only ide function i see in result.txt is ide_init2 and ide_init_ioport, and the only bdrv type functions are bdrv_open2 and bdrv_new. But, listing the symbol table via "nm" on qemu, does display my functions of interest (
i.e. bdrv_read, bdrv_write, ...). I should see these functions in the gprof result since, for example, they are executed frequently (during OS bootup, and writting/reading to/from a sample large file)
1. Why am I only seeing specific low level functions in the call graph?
2. Is there a more clear way of finding out how (i.e. sequence of calls) qemu make to write to the disk image?
thank you,
atoosaah
I'd appreciate any input on how to run gprof successfully on qemu. I'm new to gprof and am probably missing some steps. I successfully ran gprof on a sorting program available online, then I attempted to run gprof on qemu.
Here are the steps I take:
I'm trying to run gprof on qemu, but am unsuccessful. my os is linux, my qemu version is 0.8.2. I configure qemu with the options "configure --prefix=/install_path --enable-gprof. Then I make and make install. I run qemu successfully using the options /install_path/qemu -hda diskimage.img -m 256 which results in the gmon.out file. My run of qemu involved starting the image (virtual linux OS), running a few simple commands and shutting the image down.
Finally, I run gprof /intsall_path/qemu gmon.out > result.txt which gives the error: gprof: file 'qemu' has no symbols'
Are there any other configuration options required? Should the image be run with differently?
thank you,
atoosaah