bug-gdb
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gdb 5.0 not setting breakpoints in template functions correctly


From: Derrick Bass
Subject: gdb 5.0 not setting breakpoints in template functions correctly
Date: Fri, 20 Apr 2001 03:38:26 -0700

GDB 5.0 does not seem to be able to set breakpoints in template functions
correctly.  For example, if we compile the following program with gcc-2.95.3
#include <iostream>
template<class T>
void f(T x) {
  std::cout << x << endl;
}

int main() {
  f(4);
  f(5.6);
}

and then step through the program until it calls f and then set a breakpoint,
the next time we run the program it does not stop at the breakpoint.  Sourcing
the following script demonstrates this:
break main
run
s
break
c
disable 1
run

I am using RedHat Linux 6.0 on a Pentium II with gcc-2.95.2 and gcc-2.95.3.
The command used to compile the program was 
eg++-latest -g gdbtemp.cc -o gdbtemp

(eg++-latest points to gcc-2.95.3's g++ binary.  The same results
occur for gcc-2.95.2)

I do not know what compiler I used to compile gdb.  It was almost certainly 
gcc-2.95.2, since it was compiled on 26 Sep 2000 and that was the
release version of gcc out at the time.

The output from gdb when using the above script is:
(gdb) source gdbtemp.gdb
Breakpoint 1 at 0x804a546: file gdbtemp.cc, line 8.

Breakpoint 1, main () at gdbtemp.cc:8
8         f(4);
void f<int> (x=4) at gdbtemp.cc:4
4         std::cout << x << endl;
Breakpoint 2 at 0x805113a: file gdbtemp.cc, line 4.
4
5.6

Program exited normally.
4
5.6

Program exited normally.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]