After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 658143 - Fails to support multiple breakpoints
Fails to support multiple breakpoints
Status: RESOLVED FIXED
Product: nemiver
Classification: Other
Component: general
trunk
Other All
: Normal normal
: ---
Assigned To: Nemiver maintainers
Nemiver maintainers
Depends on:
Blocks:
 
 
Reported: 2011-09-03 20:51 UTC by Dodji Seketeli
Modified: 2011-09-04 11:18 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Dodji Seketeli 2011-09-03 20:51:03 UTC
Sometimes setting a breakpoint to a given location can yield multiple
actual breakpoints to set to different locations.  For instance:

$ cat -n ~/test.cc
     1	struct S
     2	{
     3	    int m_0;
     4	    int m_1;
     5	
     6	    S ()
     7	    {
     8	        m_0 = 0;
     9	        m_1 = 0;
    10	    }
    11	
    12	    S (int a, int b)
    13	    {
    14	        m_0 = a;
    15	        m_1 = b;
    16	    }
    17	};
    18	
    19	int
    20	main()
    21	{
    22	    S s0;
    23	    S s1 (2, 3);
    24	}
$ 

Setting a breakpoint to the location "S::S" (the constructor of S)
actually sets two breakpoints; one to line 8 in the first constructor
and one to line 14 in the second constructor.

The problem is that Nemiver doesn't expect that.  That situation
violates a faulty assert in the code:

|X|virtual void nemiver::OnBreakpointHandler::do_handle(nemiver::CommandAndOutput&):/home/dodji/devel/git/nemiver/master/src/dbgengine/nmv-gdb-engine.cc:1452:condition (bps.size () == 1) failed; raising exception
Comment 1 Dodji Seketeli 2011-09-04 11:18:39 UTC
This is fixed in master by changeset 2c34fd0, as well as in gtk2-branch.