Libo Zhou <zhl...@foxmail.com> writes:
> Hi Alex, > > > I just need to log the registers and memory after the program finishes > its execution. Is it possible to add this functionality myself? You'll need to set some sort of breakpoint on the last instruction so gdb can inspect things before the program is unloaded. I think it's possible to wire poweroff events to the gdbstub but I haven't looked into that myself. > As for the GDB option, can you tell me the specific steps to do that? I've > tried it myself but I had no luck getting it running due to me being new to > all this. > For linux-user: $QEMU -g 1234 $PRG for system emulation $QEMU -s -S and then on the gdb end: gdb $BIN -ex "target remote localhost:1234" and then you can operate as you normally do with a gdb session. GDB has two scripting interfaces. The command mode is basically a list of gdb commands but might work for what you want. If you want to be a bit more programatic you can use python. See the example in tests/guest-debug/test-gdbstub.py > > Thanks, > Libo > > > > ------------------ Original ------------------ > From: "Alex Bennée";<alex.ben...@linaro.org>; > Send time: Thursday, Sep 5, 2019 8:58 PM > To: "qemu-devel"<qemu-devel@nongnu.org>; > Cc: "Aleksandar Markovic"<aleksandar.m.m...@gmail.com>; > Subject: Re: [Qemu-devel] QEMU as ISS (Instruction Set Simulator) > > > > > Libo Zhou <zhl...@foxmail.com> writes: > >> Do you know where in the source file I should look into to add my custom >> logging functionality? >> >> >> Or, would you suggest using gdb to look at my target register and memory >> contents? The answer in this link below looks really promising. I'm gonna >> give it a try first. >> >> https://stackoverflow.com/questions/39503997/how-to-run-a-single-line-of-assembly-then-see-r1-and-condition-flags > > The gdbstub should allow you do full introspection and adding > additional registers is fairly easy, see FOO_gdb_[set|get]_reg helpers > in the appropriate target/FOO directories. > >> However, if I am able to customize log, it will be super convenient. > > So you want something above what -d cpu will show you? > >> >> >> >> Cheers, >> >> Libo >> >> >> >> ------------------ Original ------------------ >> From: "Aleksandar Markovic";<aleksandar.m.m...@gmail.com>; >> Send time: Thursday, Sep 5, 2019 6:54 PM >> To: "Libo Zhou"<zhl...@foxmail.com>; >> Cc: "qemu-devel"<qemu-devel@nongnu.org>; >> Subject: Re: [Qemu-devel] QEMU as ISS (Instruction Set Simulator) >> >> >> >> 04.09.2019. 05.23, "Libo Zhou" <zhl...@foxmail.com> ?е написао/ла: >>> >>> Hi Aleksandar, >>> >>> I have spent some time looking at your MXU ASE patch. It's super helpful. >> I need to do exactly the same thing as you did. >>> >>> Now I just need a way to observe the memory and register file contents to >> debug my instruction set simulator. I played with the "-d" switch to log a >> bunch of information, but it seems that none of the items is of my >> interest. The "-d cpu_reset" option displays all zeros in the GPR log. >>> >> >> It looks you need a custom logging tailored to your needs, based on >> intercepting the instructions you added. >> >> Aleksandar >> >>> Please take your time, as I fully understand you need to work on Qemu >> while answering all my questions. Again, thank you very much for your help! >>> >>> Cheers, >>> Libo >>> -- Alex Bennée