This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Accessing x86 general-purpose registers


	My question really isn't about GDB per se but I was hoping some
of the developers on this list would be able to help with what I'm
trying to do.
	I have written a kernel module that, when triggered by an event,
dumps out the contents of memory and the architectural state of the
system to two files. The problem I'm running into is that the general
purpose registers (EAX, EBX, EIP, etc.) I'm storing are incorrect. To
investigate this problem I've downloaded the source to GDB and I've been
looking at how GDB accomplishes this.
	In include/asm-i386/user.h is a structure called struct user
with a member struct user_pt_regs, which is where GDB gets the general
purpose register information for a program being debugged. I can see
nowhere else in the kernel where this structure is written to. How is
this information populated? Is there a way I can access this structure
from the kernel itself?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]