Lingxiao, In lieu of a response from someone else with more gem5 expertise, I thought this might help.
(I assume you've seen this page: link <http://www.m5sim.org/Debugger_Based_Debugging>.) I put a breakpoint in src/cpu/simple/base.cc in the BaseSimpleCPU constructor. After it allocates a "SimpleThread" for its "thread" member, I can get the address of "thread." Then, at another point in the program, I can use that address to examine the pc member of "thread" like this (assuming the address of "thread" is 0x385e9c0): (gdb) call ((SimpleThread*)0x385e9c0)->pcState() $6 = {<GenericISA::UPCState<unsigned long>> = {<GenericISA::SimplePCState<unsigned long>> = {<GenericISA::PCStateBase> = {_pc = 4194710, _npc = 4194718}, <No data fields>}, _upc = 0, _nupc = 1}, _size = 0 '\000'} A caveat is that gdb won't let me print out the address of "thread". When I try to print it in gdb, I get this error: (gdb) p thread A syntax error in expression, near `'. My guess is that it's because "thread" is a keyword in gdb. In the code, I stored the value of "thread" in a variable with a different name, and it let me print the other variable. I don't know if this answers your question. If it does, I would guess there's probably a better way than this. Maybe someone else can give input. Hope this helps, Patrick On Tue, Aug 4, 2015 at 10:31 AM, Lingxiao Jia <[email protected]> wrote: > Hello all, > > I am new to gem5. I want to use gdb to inspect what is going on inside the > simulator in SE mode. > Specifically, I want to stop at certain PC and make a checkpoint at that > point, but I don't find an easy way to do that. The existing way to take > checkpoints can only be taken at certain tick. > I reviewed the source code and generally located where the PC is stored > (in the ThreadState structure of the thread of the corresponding CPU). > But since gem5 use swig to bridge python and C++, I am really confused if > it is possible to access the PC globally in gdb? > > Thanks. > > -- > > Best regards, > > Lingxiao Jia > > > Electrical & Computer Engineering (ECE) > > The University of Texas at Austin (UT-Austin) > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
