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: cannot subscript something of type <data variable, no debug info>


Interesting note:
The source file is tester.cpp, and I'm compiling with g++.
I tried renaming the file to tester.c and compiling with gcc, and the print
statements all work fine!!!  So apparently this is a c++ issue in gdb.  Does
that help resolve the problem??

----- Original Message ----- 
From: "Daniel Miller (IMI)" <dan@imi-test.com>
To: "Daniel Jacobowitz" <drow@false.org>
Cc: <gdb@sources.redhat.com>
Sent: Monday, August 23, 2004 13:49
Subject: Re: cannot subscript something of type <data variable, no debug
info>


> My system is:
> - linux 2.6.7 (running on i386, specifically P4 2.4GHz)
> - g++ (GCC) 3.3.3 (SuSE Linux)
> - GNU gdb 6.1
>
> I compile the following code via
>
> g++ -Wall -g tester.cpp -o tester
>
> //  source file
> #include <stdio.h>
>
> #include "tester.h"
>
> S_Module Mod[1] ;
>
> int main(void)
> {
>    Mod[0].powered_up = 1 ;
>
>    printf("powered_up=%u\n", Mod[0].powered_up) ;
>    return 0;
> }
>
> //  header file tester.h
> typedef struct S_Module_s
> {
>   unsigned Stat;     // module status
>   unsigned sys_status ; //  system errno
>   unsigned powered_up;
>   unsigned compat ;
> } S_Module;
> // } __attribute__ ((__packed__)) S_Module;
>
> extern S_Module Mod[1];
> //*****************************************************
>
> After compiling as previously described and loading tester into gdb, I
see:
>
> (gdb) p Mod[0]
> cannot subscript something of type `<data variable, no debug info>'
> (gdb) p (S_Module) Mod[0]
> No symbol "S_Module" in current context.
>
> //*****************************************************
>
> Note that if I pull the header-file data into the source file, then print
> can successfully access the struct.  When it's in a separate header,
though,
> it doesn't work.  Of course, my real project has 10 headers and 30-some
> source files, so eliminating headers isn't practical.  Is there something
> else I can do to make this work??  Or should I call this a bug report??
>
>     Dan Miller
>
>
> //*****************************************************
> ----- Original Message ----- 
> From: "Daniel Jacobowitz" <drow@false.org>
> To: "Daniel Miller (IMI)" <dan@imi-test.com>
> Cc: <gdb@sources.redhat.com>
> Sent: Friday, August 20, 2004 19:11
> Subject: Re: cannot subscript something of type <data variable, no debug
> info>
>
>
> > On Fri, Aug 20, 2004 at 06:23:03PM -0700, Daniel Miller (IMI) wrote:
> > > I'm trying to debug an application with gdb... I have a struct that is
> > > declared thus:
> > >
> > > typedef struct S_Module_s
> > > {
> > >   unsigned powered_up;
> > >        ...  other data elements  ...
> > > } __attribute__ ((__packed__)) S_Module;
> > >
> > > extern S_Module Mod[1];
> > >
> > > I tried compiling both with -g and -ggdb, with no change in the
> symptoms.
> >
> > What platform?  What version of GDB?
> >
> > > I don't seem to be able to display any of the contents of Mod[0], at
> all....
> > > I get effects such as:
> > >
> > > (gdb) p Mod[0]
> > > cannot subscript something of type `<data variable, no debug info>'
> > > (gdb) p (S_Module) Mod[0]
> > > No symbol "S_Module" in current context.
> > > (gdb) p (struct S_Module_s) Mod[0]
> > > No struct type named S_Module_s.
> > >
> > > What do I have to do to get gdb to recognize my variables??  Virtually
> every
> > > GUI-based debugger out there is a wrapper around gdb, to if it's not
> happy,
> > > nobody's happy!!!  Please help!!
> >
> > We'll need a standalone test case, or at least a dump of the debugging
> > information in the application, to answer this question.
> >
> > -- 
> > Daniel Jacobowitz
> >
> >
>


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