This is the mail archive of the gdb@sourceware.org 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]

FW: Segfault in varobj.c


> ----Original Message-----
> From: Daniel Jacobowitz [mailto:drow@false.org] 
> Sent: 27 July 2007 15:25
> To: Robert Norton
> Subject: Re: Segfault in varobj.c
> 
> On Fri, Jul 27, 2007 at 07:20:50AM -0700, Robert Norton wrote:
> > Ah. Thanks. There doesn't seem to be any equivalent 
> function in the 6.6
> > version. Can you remember how this would have been handled then?
> 
> Badly, I'm afraid.  Vladimir and Nick did a lot of work cleaning this
> stuff up after 6.6.

OK, thanks.

The below was supposed to go the mailing list but I think my question is
largely answered. Here it is for the record:

> No, that won't happen any more.  See get_value_type.

Ah. Thanks. There doesn't seem to be any equivalent function in the 6.6
version. Can you remember how this would have been handled then?
Appreciate that you're probably not interested in dredging up the past.
I tried variations on the following code but still wasn't able to
reproduce in 6.6 so there must be something more to my test binary:

typedef int * INT_PTR;

struct test_struct {
  INT_PTR x;
};

struct test_struct test;

int main(void) {
  int x = 1;
  test.x = &x;
  return *test.x;
}

rnorton@x-cbga-09:rnorton> gdb --interpreter=mi gdbtestfp
...
^done,reason="breakpoint-hit",bkptno="1",thread-id="0",frame={addr="0x00
000140",func="main",args=[],file="gdbtest.c",line="10"}
(gdb)
-var-create - * test
^done,name="var1",numchild="1",type="struct test_struct"
(gdb)
-var-list-children test
&"Variable object not found\n"
^error,msg="Variable object not found"
(gdb)
-var-list-children var1
^done,numchild="1",children={child={name="var1.x",exp="x",numchild="1",t
ype="INT_PTR"}}
(gdb)
-var-list-children var1.x
^done,numchild="1",children={child={name="var1.x.*x",exp="*x",numchild="
0",type="int"}}
(gdb)
-var-list-children var1.x.*x
^done,numchild="0"
(gdb)

Suppose I'll just have to go with a workaround until such time as we can
upgrade. 

Thanks,

Robert

> -- 
> Daniel Jacobowitz
> CodeSourcery
> 
> 


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