Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2012-12-02 01:20:29 +0000
committerEugene Tarassov2012-12-02 01:20:29 +0000
commit86c91316fde9f4ce078ff6ac779b0c56d644d071 (patch)
tree4b3c4e37b349127842ee8b5483687aa1b7119426 /plugins
parent854f222d947af7a1823e63df51add540a3b8b7d0 (diff)
downloadorg.eclipse.tcf-86c91316fde9f4ce078ff6ac779b0c56d644d071.tar.gz
org.eclipse.tcf-86c91316fde9f4ce078ff6ac779b0c56d644d071.tar.xz
org.eclipse.tcf-86c91316fde9f4ce078ff6ac779b0c56d644d071.zip
TCF Debugger: fixed: the Symbol Files dialog box shows same entry two times.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/commands/MemoryMapWidget.java29
1 files changed, 26 insertions, 3 deletions
diff --git a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/commands/MemoryMapWidget.java b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/commands/MemoryMapWidget.java
index 5bdb1820b..1eee8a029 100644
--- a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/commands/MemoryMapWidget.java
+++ b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/commands/MemoryMapWidget.java
@@ -596,6 +596,27 @@ public class MemoryMapWidget {
}
}
+ private boolean isLocalEntry(IMemoryMap.MemoryRegion r) {
+ /* Check if launch configuration contains the entry */
+ if (r == null) return false;
+ String f0 = r.getFileName();
+ BigInteger a0 = JSON.toBigInteger(r.getAddress());
+ if (a0 != null)
+ for (IMemoryMap.MemoryRegion c : cur_maps.get(selected_mem_map_id)) {
+ String f1 = c.getFileName();
+ if (f0 != f1) {
+ if (f0 == null) continue;
+ if (!f0.equals(f1)) continue;
+ }
+ Number a1 = c.getAddress();
+ if (a0 != a1) {
+ if (a0 == null) continue;
+ }
+ return true;
+ }
+ return false;
+ }
+
private void loadTargetMemoryMap() {
loaded_files.clear();
target_map.clear();
@@ -620,12 +641,14 @@ public class MemoryMapWidget {
}
if (map_cache.getData() != null) {
for (TCFNodeExecContext.MemoryRegion m : map_cache.getData()) {
- Map<String,Object> props = m.region.getProperties();
- target_map.add(new TCFMemoryRegion(props));
- if (props.get(IMemoryMap.PROP_ID) != null) {
+ if (isLocalEntry(m.region)) {
String fnm = m.region.getFileName();
if (fnm != null) loaded_files.add(fnm);
}
+ else {
+ /* Foreign entry, added by another client or by the target itself */
+ target_map.add(new TCFMemoryRegion(m.region.getProperties()));
+ }
}
}
}

Back to the top