diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index 4775a97997f..4d118e0cbb6 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,7 @@ +2004-11-22 Mikhail Khodjaiants + Check if the pointer value is not null before pass it to the address factory. + * CValue.java + 2004-11-18 Mikhail Khodjaiants Worker threads can try to evaluate expressions on the stack frames that have already been disposed. A flag is added to identify that the stack diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CValue.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CValue.java index b4ba2139ce2..24cd003601b 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CValue.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CValue.java @@ -361,6 +361,9 @@ public class CValue extends AbstractCValue { private String getPointerValueString( ICDIPointerValue value ) throws CDIException { //TODO:IPF_TODO Workaround to solve incorrect handling of structures referenced by pointers or references IAddressFactory factory = ((CDebugTarget)getDebugTarget()).getAddressFactory(); + BigInteger pv = value.pointerValue(); + if ( pv == null ) + return ""; //$NON-NLS-1$ IAddress address = factory.createAddress( value.pointerValue() ); if ( address == null ) return ""; //$NON-NLS-1$