Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2012-10-15 07:29:17 +0000
committerEugene Tarassov2012-10-15 07:30:00 +0000
commit760a21a8636bc1e3521bcbd6abd6ae1fb37c27c6 (patch)
tree3482d22be4287bf23e89ef7335f5606442b4d785 /plugins
parent8ecf00a5cdbd4f4bda8fd04eb36d06e9d8953112 (diff)
downloadorg.eclipse.tcf-760a21a8636bc1e3521bcbd6abd6ae1fb37c27c6.tar.gz
org.eclipse.tcf-760a21a8636bc1e3521bcbd6abd6ae1fb37c27c6.tar.xz
org.eclipse.tcf-760a21a8636bc1e3521bcbd6abd6ae1fb37c27c6.zip
TCF Debugger: fixed pin and refresh actions for memory mapped registers
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/commands/TCFPinViewCommand.java2
-rw-r--r--plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeRegister.java17
2 files changed, 13 insertions, 6 deletions
diff --git a/plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/commands/TCFPinViewCommand.java b/plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/commands/TCFPinViewCommand.java
index 4f58708b3..b944c0087 100644
--- a/plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/commands/TCFPinViewCommand.java
+++ b/plugins/org.eclipse.tcf.cdt.ui/src/org/eclipse/tcf/internal/cdt/ui/commands/TCFPinViewCommand.java
@@ -220,7 +220,7 @@ public class TCFPinViewCommand implements IPinProvider {
vars = true;
mem = true;
}
- if (IDebugUIConstants.ID_REGISTER_VIEW.equals(id)) done(vars);
+ if (IDebugUIConstants.ID_REGISTER_VIEW.equals(id)) done(mem);
else if (IDebugUIConstants.ID_VARIABLE_VIEW.equals(id)) done(vars);
else if (IDebugUIConstants.ID_EXPRESSION_VIEW.equals(id)) done(mem);
else done(false);
diff --git a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeRegister.java b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeRegister.java
index ee74d77b4..91824dad6 100644
--- a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeRegister.java
+++ b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFNodeRegister.java
@@ -39,6 +39,7 @@ import org.eclipse.tcf.internal.debug.ui.ImageCache;
import org.eclipse.tcf.protocol.IToken;
import org.eclipse.tcf.protocol.JSON;
import org.eclipse.tcf.services.IRegisters;
+import org.eclipse.tcf.services.IRunControl;
import org.eclipse.tcf.util.TCFDataCache;
import org.eclipse.tcf.util.TCFTask;
@@ -203,10 +204,15 @@ public class TCFNodeRegister extends TCFNode implements IElementEditor, IWatchIn
}
else if (p instanceof TCFNodeExecContext) {
TCFNodeExecContext exe = (TCFNodeExecContext)p;
- TCFDataCache<TCFContextState> state_cache = exe.getState();
- if (!state_cache.validate(done)) return null;
- TCFContextState state = state_cache.getData();
- if (state == null || !state.is_suspended) return true;
+ TCFDataCache<IRunControl.RunControlContext> ctx_cache = exe.getRunContext();
+ if (!ctx_cache.validate(done)) return null;
+ IRunControl.RunControlContext ctx_data = ctx_cache.getData();
+ if (ctx_data != null && ctx_data.hasState()) {
+ TCFDataCache<TCFContextState> state_cache = exe.getState();
+ if (!state_cache.validate(done)) return null;
+ TCFContextState state_data = state_cache.getData();
+ if (state_data == null || !state_data.is_suspended) return true;
+ }
}
return false;
}
@@ -228,7 +234,8 @@ public class TCFNodeRegister extends TCFNode implements IElementEditor, IWatchIn
Number addr = ctx.getMemoryAddress();
if (addr != null) {
bf.append("Address: ", SWT.BOLD);
- bf.append(JSON.toBigInteger(addr).toString(16));
+ bf.append("0x", StyledStringBuffer.MONOSPACED);
+ bf.append(JSON.toBigInteger(addr).toString(16), StyledStringBuffer.MONOSPACED);
}
if (ctx.isReadable()) {
if (l < bf.length()) bf.append(", ");

Back to the top