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]

Re: Getting gdb to find definitions


On Tue, Jun 29, 2004 at 11:41:46AM -0400, Paul Koning wrote:
> 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.

GDB is supposed to do this.  If you've found a case where it doesn't
work, please do provide a testcase.

> Is there a fix for this?  Alternatively, is there a way to at least
> change the default symbol loading rule?

-readnow.

-- 
Daniel Jacobowitz


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