bugDDD - Bugs: bug #28940, Multible breakpoints on the same...

 
 

bug #28940: Multible breakpoints on the same address

Submitter:  Dancie Reeves <dancie>
Submitted:  Sat 20 Feb 2010 12:19:10 PM UTC
Votes: 100
 
Category:  None Severity:  3 - Normal
Priority:  5 - Normal Item Group:  None
Status:  None Privacy:  Public
Assigned to:  None Open/Closed:  Closed
Release:  None
* Mandatory Fields

Post a Comment

Add a New Comment Rich Markup
   

Discussion

Wed 28 Dec 2022 06:30:05 PM UTC, comment #3: 

fix was already applied

Stefan Eickeler <eickeler>
Group administrator
Thu 10 Mar 2011 05:21:00 PM UTC, comment #2: 

Active in 3.3.11 on Ubuntu 10.04.

John Boncek <johnboncek>
Fri 26 Feb 2010 10:25:00 PM UTC, comment #1: 

Don't use this. I did a better fix. See my comm-manag-250210.patch.
It was a better kludge and fixed many more problems.

Dancie Reeves <dancie>
Group Member
Sat 20 Feb 2010 12:19:10 PM UTC, original submission:  

Ever since I have worked with ddd if you saved a session with one breakpoint the next time you open the session there would appear many breakpoints on the same address, sometimes ddd would run out of glymps (red dots). This is an annoying bug. I have written a kludge to remove the extras on startup but as yet cannot find in the code where the breakpoints are loaded or saved to the init file. Here is the kludge. about line 4200 in SourceView.C. Can anyone give me a hint where the breakpoints are installed on the startup of a session.

else
{
    // New breakpoint
changed = true;
BreakPoint *new_bp =
new BreakPoint(info_output, break_arg, bp_nr, file);
bool isDouble = false;
if(bp_nr > 1)
{
for(int bno = 1; bno <= max_breakpoint_number_seen;bno++)
{
BreakPoint *bp = bp_map.get(bno);
if(bp != NULL)
{
if((new_bp->line_nr() == bp->line_nr()) &&
(new_bp->type() == bp->type()))
{
isDouble = true;
break;
}
}
}
}
if(!isDouble)
{
bp_map.insert(bp_nr, new_bp);
if (gdb->has_delete_command())
{
const string num = "@" + itostring(bp_nr) + "@";
undo_commands << gdb->delete_command(num) << '\n';
}
else
{
undo_commands << delete_command(bp_nr) << '\n';
}
if (!added)
{
added = true;
// Select this breakpoint only
MapRef ref;
for(BreakPoint* bp = bp_map.first(ref);
bp != 0;
bp = bp_map.next(ref))
{
bp->selected() = false;
}
}
new_bp->selected() = true;
}
else
{
delete_bp(bp_nr);
bp_nr = 0;
}
}
max_breakpoint_number_seen = max(max_breakpoint_number_seen, bp_nr);
}

Dancie Reeves <dancie>
Group Member

 

Attached Files

This item currently has no attached files.

(Note: upload size limit is set to 4.0MiB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

 

Dependencies

This item does not depend on any other items.

No items depend on this one.

 

Mail Notification Carbon-Copy List

Carbon-Copy List
  • -email is unavailable- added by eickeler (Updated the item)
  • -email is unavailable- added by johnboncek (Posted a comment)
  • -email is unavailable- added by johnboncek
  • -email is unavailable- added by johnboncek (Voted in favor of this item)
  • -email is unavailable- added by dancie (Submitted the item)
  •  

    Votes

    There are 100 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    History

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2022-12-28 eickeler Open/ClosedOpen Closed
    2011-03-10 johnboncek Carbon-Copy- Added -email is unavailable-
        Carbon-Copy- Added johnboncek

    Back to the top

    Powered by Savane 3.16-11ef.
    Corresponding source code