This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Getting gdb to find definitions
- From: Paul Koning <pkoning at equallogic dot com>
- To: gdb at sources dot redhat dot com
- Date: Tue, 29 Jun 2004 11:41:46 -0400
- Subject: Getting gdb to find definitions
There's a problem I'm seeing increasingly often with GDB 6.1 --
especially now that our compilers are switching to Dwarf-2 format. It
seems that gdb doesn't load definitions of types until you reference
some variable that causes it to load the symbols for a particular
source file -- or something like that.
For example, I might do this:
(gdb) file netbsd.gdb
Reading symbols from netbsd.gdb...done.
(gdb) ptype struct user
No struct type named user.
(gdb) p curproc
$1 = (struct proc *) 0x8282e9e0
(gdb) ptype struct user
type = struct user {
struct pcb u_pcb;
struct pstats u_stats;
}
This is causing a lot of confusion among users, and it breaks various
scripts.
I would argue that gdb should read the definitions of types when they
are mentioned (as it does with the definitions of variables). Either
that, or it shouldn't default to delayed loading, if it causes
malfunctions like this.
Is there a fix for this? Alternatively, is there a way to at least
change the default symbol loading rule?
paul