mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-09 10:46:02 +02:00
Bug 314557 - No error dialog when problems occur opening a memory monitor on a variable
This commit is contained in:
parent
abef64cb07
commit
d2fa899c83
1 changed files with 6 additions and 6 deletions
|
@ -141,9 +141,8 @@ public class DsfViewMemoryHandler extends AbstractHandler {
|
||||||
addDefaultRenderings(memBlock, memRendSite);
|
addDefaultRenderings(memBlock, memRendSite);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showExpressionInMemoryView(VariableExpressionVMC context, IExpressionDMData exprData,
|
private IStatus showExpressionInMemoryView(VariableExpressionVMC context, IExpressionDMData exprData,
|
||||||
IMemoryRenderingSite memRendSite) {
|
IMemoryRenderingSite memRendSite) {
|
||||||
try {
|
|
||||||
BasicType type = exprData.getBasicType();
|
BasicType type = exprData.getBasicType();
|
||||||
String exprString;
|
String exprString;
|
||||||
if (type == BasicType.array || type == BasicType.pointer) {
|
if (type == BasicType.array || type == BasicType.pointer) {
|
||||||
|
@ -152,17 +151,19 @@ public class DsfViewMemoryHandler extends AbstractHandler {
|
||||||
else {
|
else {
|
||||||
exprString = "&(" + context.getExpression() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
|
exprString = "&(" + context.getExpression() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
IDMContext dmc = context.getDMContext();
|
IDMContext dmc = context.getDMContext();
|
||||||
IMemoryBlockRetrieval retrieval = (IMemoryBlockRetrieval) context.getAdapter(IMemoryBlockRetrieval.class);
|
IMemoryBlockRetrieval retrieval = (IMemoryBlockRetrieval) context.getAdapter(IMemoryBlockRetrieval.class);
|
||||||
if (retrieval == null && context instanceof IDebugElement)
|
if (retrieval == null && context instanceof IDebugElement)
|
||||||
retrieval = ((IDebugElement)context).getDebugTarget();
|
retrieval = ((IDebugElement)context).getDebugTarget();
|
||||||
if (retrieval == null || !(retrieval instanceof DsfMemoryBlockRetrieval))
|
if (retrieval == null || !(retrieval instanceof DsfMemoryBlockRetrieval))
|
||||||
return;
|
return Status.OK_STATUS;
|
||||||
DsfMemoryBlockRetrieval dsfRetrieval = (DsfMemoryBlockRetrieval) retrieval;
|
DsfMemoryBlockRetrieval dsfRetrieval = (DsfMemoryBlockRetrieval) retrieval;
|
||||||
IMemoryBlockExtension memBlock = dsfRetrieval.getExtendedMemoryBlock(exprString, dmc);
|
IMemoryBlockExtension memBlock = dsfRetrieval.getExtendedMemoryBlock(exprString, dmc);
|
||||||
renderMemoryBlock(memBlock, memRendSite);
|
renderMemoryBlock(memBlock, memRendSite);
|
||||||
|
return Status.OK_STATUS;
|
||||||
} catch (DebugException e) {
|
} catch (DebugException e) {
|
||||||
DsfUIPlugin.log(e);
|
return DsfUIPlugin.newErrorStatus(IStatus.OK, "Can't view memory on " + exprString, e); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,8 +199,7 @@ public class DsfViewMemoryHandler extends AbstractHandler {
|
||||||
Job job = new Job("View Memory") { //$NON-NLS-1$
|
Job job = new Job("View Memory") { //$NON-NLS-1$
|
||||||
@Override
|
@Override
|
||||||
protected IStatus run(IProgressMonitor monitor) {
|
protected IStatus run(IProgressMonitor monitor) {
|
||||||
showExpressionInMemoryView(context, exprData, memRendSite);
|
return showExpressionInMemoryView(context, exprData, memRendSite);
|
||||||
return Status.OK_STATUS;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
job.setSystem(true);
|
job.setSystem(true);
|
||||||
|
|
Loading…
Add table
Reference in a new issue