Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2008-06-04 20:57:08 +0000
committereutarass2008-06-04 20:57:08 +0000
commit72cddcac552c4ae7d945157e34bd5d737d6e801d (patch)
tree11a73bbf915d49c38629b161f468e31565976411 /plugins/org.eclipse.tm.tcf.debug.ui
parentc8ed77ecfd7c897791825f30846b5f5c09d534af (diff)
downloadorg.eclipse.tcf-72cddcac552c4ae7d945157e34bd5d737d6e801d.tar.gz
org.eclipse.tcf-72cddcac552c4ae7d945157e34bd5d737d6e801d.tar.xz
org.eclipse.tcf-72cddcac552c4ae7d945157e34bd5d737d6e801d.zip
1. Source line breakpoints are implemented.
2. TCF agent bug fixed: hash functions could return negative number causing memory corruption. 3. TCF agent: switched to latest version of dbghelp.dll - Windows XP comes with broken version of the DLL. 4. TCF agent: fixed a bug in DWARF line number information reader.
Diffstat (limited to 'plugins/org.eclipse.tm.tcf.debug.ui')
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/launch/TCFMainTab.java1
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFModel.java12
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java2
3 files changed, 12 insertions, 3 deletions
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/launch/TCFMainTab.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/launch/TCFMainTab.java
index ce3998550..c7d700abc 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/launch/TCFMainTab.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/launch/TCFMainTab.java
@@ -177,6 +177,7 @@ public class TCFMainTab extends AbstractLaunchConfigurationTab {
public void createControl(Composite parent) {
display = parent.getDisplay();
+ assert display != null;
Font font = parent.getFont();
Composite comp = new Composite(parent, SWT.NONE);
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFModel.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFModel.java
index 402c10a38..6445d105a 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFModel.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFModel.java
@@ -16,6 +16,7 @@ import java.util.Map;
import java.util.TreeSet;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.commands.IDisconnectHandler;
import org.eclipse.debug.core.commands.IResumeHandler;
import org.eclipse.debug.core.commands.IStepIntoHandler;
@@ -81,6 +82,9 @@ public class TCFModel implements IElementContentProvider, IElementLabelProvider,
private final Map<Class,Object> commands = new HashMap<Class,Object>();
private final TreeSet<FutureTask> queue = new TreeSet<FutureTask>();
+ private static final Map<ILaunchConfiguration,IEditorInput> editor_not_found =
+ new HashMap<ILaunchConfiguration,IEditorInput>();
+
private TCFNodeLaunch launch_node;
private boolean disposed;
@@ -548,7 +552,11 @@ public class TCFModel implements IElementContentProvider, IElementLabelProvider,
source_element = ((ISourceLookupDirector)locator).getSourceElement(src_ref.area);
}
if (source_element == null) {
- editor_input = new CommonSourceNotFoundEditorInput(src_ref.area);
+ ILaunchConfiguration cfg = launch.getLaunchConfiguration();
+ editor_input = editor_not_found.get(cfg);
+ if (editor_input == null) {
+ editor_not_found.put(cfg, editor_input = new CommonSourceNotFoundEditorInput(cfg));
+ }
editor_id = IDebugUIConstants.ID_COMMON_SOURCE_NOT_FOUND_EDITOR;
}
else {
@@ -638,7 +646,7 @@ public class TCFModel implements IElementContentProvider, IElementLabelProvider,
try {
IDocument document = provider.getDocument(input);
if (document != null)
- return document.getLineInformation(lineNumber);
+ return document.getLineInformation(lineNumber - 1);
}
catch (BadLocationException e) {
}
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java
index 017735dec..c4b9fa308 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java
@@ -243,7 +243,7 @@ public class TCFNodeStackFrame extends TCFNode {
else {
String label = makeHexAddrString(l.address);
if (l.area != null && l.area.file != null) {
- label += ": " + l.area.file + ", line " + (l.area.start_line + 1);
+ label += ": " + l.area.file + ", line " + l.area.start_line;
}
result.setLabel(label, 0);
}

Back to the top