Re: Variable locations in a loaded kernel (bsd.gdb)

Andrew Cagney
2001-08-27T10:48:00Z

> Gidday there,
>
> I'm trying to find how a specific variable is referenced in an
> OpenBSD 2.8 kernel. I build a kernel with symbols, and load it into gdb,
> however I can't find a way to see where a specific variable is stored
> (stack, memory, register etc...). I can't run the kernel, and when I type
> 'p function::variable' it responds with...
>
> No frame is currently executing in block scpshc_decompress.
>
> Once I have the offset, or address or whatever about the variable,
> then I can examine its value in 'ddb' after the kernel crashes.
>
> Thanks in advance. I'm running GDB 4.16.1. The 'configure'
> script doesn't let me compile version 5 on OBSD2.8.

Outch! They are both really old GDBs. Could I sugest downloading
someting more recent? The snapshots are tracking the unreleased 5.1 branch:

http://sources.redhat.com/gdb/download

Hopefully that at least builds (Changes to get GDB working on the
various BSD OSs were only committed after GDB 5 was released).

Having done this, I would add a note of caution. 4.16.1 as a GDB
version number makes me suspicious - afaik it doesn't exist! I suspect
it is in fact 4.16ob1 - an OpenBSD specific branch of GDB - and may
contain features never contributed to the FSF.

Andrew