From e7933895ff03b873fea535d2a6b63389e29a11d6 Mon Sep 17 00:00:00 2001 From: Alena Laskavaia Date: Thu, 8 Apr 2010 19:31:39 +0000 Subject: [PATCH] [221844] - support cases with multiple breakpoints (gdb does not return breakpoint with file/line so cdt sets it from requested info) --- .../eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java | 6 ++++++ .../org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java index c98c6000d25..cbb893728a6 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java +++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java @@ -727,6 +727,12 @@ public class BreakpointManager extends Manager { points[j].setFile(bkpt.getFile()); } } + if (bkpt.getLineNumber()>0) { + for (int j = 0; j < points.length; j++) { + if (points[j].getLine() == 0) + points[j].setLine(bkpt.getLineNumber()); + } + } // Make sure that if the breakpoint was disable we create them disable. if (!enable) { int[] numbers = new int[points.length]; diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java index 087e2380545..41a918b4b30 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java +++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIBreakpoint.java @@ -263,4 +263,8 @@ public class MIBreakpoint { public void setFile(String file) { this.file = file; } + + public void setLine(int line) { + this.line = line; + } }