Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Magloire2004-11-26 21:21:28 +0000
committerAlain Magloire2004-11-26 21:21:28 +0000
commit727286a6db50143d5e0c1ff4d0bd764d73cda813 (patch)
tree026a09ac1e8ee80eea7edd107e26bdfea4fae7c6
parentbcdb4b3e6bc40b6a8eb8a4a3f04ff660140722a9 (diff)
downloadorg.eclipse.cdt-727286a6db50143d5e0c1ff4d0bd764d73cda813.tar.gz
org.eclipse.cdt-727286a6db50143d5e0c1ff4d0bd764d73cda813.tar.xz
org.eclipse.cdt-727286a6db50143d5e0c1ff4d0bd764d73cda813.zip
2004-11-26 Alain Magloire
Final fix for PR 79452 * cdi/org/eclipose/cdt/debug/mi/core/cdi/BreapointManager.java
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/ChangeLog4
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java20
2 files changed, 23 insertions, 1 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog
index 7125f639aef..54b9e1116e3 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog
+++ b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog
@@ -1,4 +1,8 @@
2004-11-26 Alain Magloire
+ Final fix for PR 79452
+ * cdi/org/eclipose/cdt/debug/mi/core/cdi/BreapointManager.java
+
+2004-11-26 Alain Magloire
Fix for PR 79582
* src/org/eclipse/cdt/debug/mi/core/CygwinGDBCDIDebugger.java
* src/org/eclipse/cdt/debug/mi/core/GDBServerCDIDebugger.java
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 25bf34d6b24..3490bd08894 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
@@ -576,7 +576,25 @@ public class BreakpointManager extends Manager {
if (file != null && file.length() > 0) {
line.append(file).append(':');
if (function != null && function.length() > 0) {
- line.append(function);
+ // GDB does not seem to accept function arguments when
+ // we use file name:
+ // (gdb) break file.c:Test(int)
+ // Will fail, altought it can accept this
+ // (gdb) break file.c:main
+ // so fall back to the line number or
+ // just the name of the function if lineno is invalid.
+ int paren = function.indexOf('(');
+ if (paren != -1) {
+ int no = location.getLineNumber();
+ if (no <= 0) {
+ String func = function.substring(0, paren);
+ line.append(func);
+ } else {
+ line.append(no);
+ }
+ } else {
+ line.append(function);
+ }
} else {
line.append(location.getLineNumber());
}

Back to the top