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: Is Single step into C++ virtual thunk still broken?


On Tue, 2002-07-09 at 19:51, Daniel Jacobowitz wrote:
> 
> With 3.0:
> 
> drow@nevyn:~/debugging/thunks% gcc-3.0 -g3 -lstdc++ -o vthunk vthunk.cc
> drow@nevyn:~/debugging/thunks% gdb ./vthunk                            
> GNU gdb 2002-04-01-cvs
> Copyright 2002 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and
> you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for
> details.
> This GDB was configured as "i386-linux"...
> (gdb) b 53
> Breakpoint 1 at 0x8048719: file vthunk.cc, line 53.
> (gdb) r
> Starting program: /home/drow/debugging/thunks/vthunk 
> 
> Breakpoint 1, main (argc=1, argv=0xbffff664) at vthunk.cc:53
> 53              p->VirtualFn();
> (gdb) s
> virtual thunk to Derived::VirtualFn() (this=0xbffff5e0) at vthunk.cc:23
> 23      {
> (gdb) 
> Derived::VirtualFn() (this=0x4001413c) at vthunk.cc:39
> 39              int a=1;
> (gdb) 
> 
> 
> With 3.1, same thing.  Curiously, with 2.95 we step right over it...  I
> don't have time to investigate why at the moment.
> 
> (By the way, you really should use g++ to compile C++ code.)
> 

Compared with my experience ( Using g++ ;) )

[daedalus@mojo thunk]$ g++ --version
g++ (GCC) 3.1
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

[daedalus@mojo thunk]$ g++ -g3 -lstdc++ -o thunk thunk.cpp
[daedalus@mojo thunk]$ gdb ./thunk
GNU gdb 2002-07-09-cvs
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "i686-pc-linux-gnu"...
(gdb) b 50
Breakpoint 1 at 0x80486ce: file thunk.cpp, line 50.
(gdb) r
Starting program: /home/daedalus/src/thunk/thunk 

Breakpoint 1, main (argc=1, argv=0xbffff9f4) at thunk.cpp:50
50		p->VirtualFn();
(gdb) s
virtual thunk to Derived::VirtualFn() () at thunk.cpp:43
43	}
(gdb) s
main (argc=1, argv=0xbffff9f4) at thunk.cpp:51
51		return 0;
(gdb) 


Ho hum. Thanks for your input anyway.

Andrew Walrond
Project Icarus


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