Hello Peter, Best, Yaodong ---------------------------------------------- Yaodong Yang Ph.D. Student Department of Computer Science & Engineering University of Nebraska-Lincoln Email: yaodong.yangy@gmail.com OR yyang@cse.unl.edu On Aug 9, 2013, at 11:56 AM, Peter Maydell wrote: > On 9 August 2013 17:45, Yaodong Yang wrote: >> I tried the following commands. >> >> ./configure --enable-debug --disable-werror --enable-kvm >> --prefix=/usr/local/kvm > > --disable-werror is usually not a good idea for developers. I see, I will get rid of it in my development. > >> make -j4 >> >> sudo make install >> >> gdb sudo /usr/local/kvm/bin/qemu-system/x86_64 -s -enable-kvm -hda >> ubuntu.img -m 1024. > > Why are you running qemu as root here? (ie why 'sudo'?) In my implementation, I need to read and write to other raw disks, so I think I need the root permission to run this program. > >> Could someone give me some guidance on how to use gdb in QEMU. >> I know the basic usage of gdb for simple .c file, but I really >> do not know how to use it in QEMU. > > There is no particular difference. QEMU is a bigger program > but has no particular gotchas for being debugged. I think I did not make my question clear. I do not know 1. how to add "-g" flag when compile QEMU, in order to use gdb 2. how to invoke QEMU with gdb, because my previous attempt failed. "gdb sudo /usr/local/kvm/bin/qemu-system/x86_64 -s -enable-kvm -hda" by the way, when I add storagemanager.c and storagemanager.h to the root directory, in order to compile and link them, I add storagemanger.o in Makefile.objs, as "block-obj-y += nbd.o block.o storagemanager.o" in line 10. Thanks a lot! > > -- PMM