mirror of
https://github.com/eclipse-cdt/cdt
synced 2024-10-28 12:09:40 +01: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);
|
||||
}
|
||||
|
||||
private void showExpressionInMemoryView(VariableExpressionVMC context, IExpressionDMData exprData,
|
||||
private IStatus showExpressionInMemoryView(VariableExpressionVMC context, IExpressionDMData exprData,
|
||||
IMemoryRenderingSite memRendSite) {
|
||||
try {
|
||||
BasicType type = exprData.getBasicType();
|
||||
String exprString;
|
||||
if (type == BasicType.array || type == BasicType.pointer) {
|
||||
|
@ -152,17 +151,19 @@ public class DsfViewMemoryHandler extends AbstractHandler {
|
|||
else {
|
||||
exprString = "&(" + context.getExpression() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
|
||||
}
|
||||
try {
|
||||
IDMContext dmc = context.getDMContext();
|
||||
IMemoryBlockRetrieval retrieval = (IMemoryBlockRetrieval) context.getAdapter(IMemoryBlockRetrieval.class);
|
||||
if (retrieval == null && context instanceof IDebugElement)
|
||||
retrieval = ((IDebugElement)context).getDebugTarget();
|
||||
if (retrieval == null || !(retrieval instanceof DsfMemoryBlockRetrieval))
|
||||
return;
|
||||
return Status.OK_STATUS;
|
||||
DsfMemoryBlockRetrieval dsfRetrieval = (DsfMemoryBlockRetrieval) retrieval;
|
||||
IMemoryBlockExtension memBlock = dsfRetrieval.getExtendedMemoryBlock(exprString, dmc);
|
||||
renderMemoryBlock(memBlock, memRendSite);
|
||||
return Status.OK_STATUS;
|
||||
} 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$
|
||||
@Override
|
||||
protected IStatus run(IProgressMonitor monitor) {
|
||||
showExpressionInMemoryView(context, exprData, memRendSite);
|
||||
return Status.OK_STATUS;
|
||||
return showExpressionInMemoryView(context, exprData, memRendSite);
|
||||
}
|
||||
};
|
||||
job.setSystem(true);
|
||||
|
|
Loading…
Reference in a new issue