Multiple locations and breakpoints confusion.

Phil Muldoon <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
Hello all,

I have a very simple test inferior:

class multiple_test
{
public:
  void foo(int f);
  void foo(double f);
};

void multiple_test::foo(int f)
{
  return;
}

void multiple_test::foo(double f)
{
  return;
}


main()
{
  multiple_test m;
  m.foo(2);
  m.foo(2.2);
}

And I place a breakpoint on 'multiple_test::foo'

This results in a breakpoint with two locations (as expected):

(gdb) info breakpoints 
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   <MULTIPLE>         
1.1                         y     0x00000000004004b3 in multiple_test::foo(int) at multiple.cpp:10
1.2                         y     0x00000000004004c3 in multiple_test::foo(double) at multiple.cpp:15

Now, If I disable 1.1 it shows (correctly):

(gdb) disable 1.1
(gdb) info breakpoints 
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   <MULTIPLE>         
1.1                         n     0x00000000004004b3 in multiple_test::foo(int) at multiple.cpp:10
1.2                         y     0x00000000004004c3 in multiple_test::foo(double) at multiple.cpp:15

And indeed that breakpoint is not enabled. If I disable the "parent" breakpoint:

(gdb) disable 1
(gdb) info breakpoints
Num     Type           Disp Enb Address            What
1       breakpoint     keep n   <MULTIPLE>         
1.1                         n     0x00000000004004b3 in multiple_test::foo(int) at multiple.cpp:10
1.2                         y     0x00000000004004c3 in multiple_test::foo(double) at multiple.cpp:15

It shows 1 as disabled but 1.2 as enabled. That seems wrong to me. In
fact, all of the breakpoints are disabled as evidenced by:

(gdb) r
Starting program: /home/pmuldoon/outgoing/multiple
[Inferior 1 (process 17661) exited normally]
(gdb)

So in recreating multiple location management in Python, I'm a bit
confused if disabling the parent breakpoint should disable all
locations and there's a display buglet on "info breakpoints", or if
the "info breakpoints" output is correct and there's a breakpoint
buglet regarding the disabling of breakpoints?

Cheers

Phil
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.