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]

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


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