diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index a1d9ea73146..b32f544c2b1 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,7 @@ +2002-11-21 Mikhail Khodjaiants + The memory view does not display values if the address expression is '0xFFFFFFFF'. + * CFormattedMemoryBlock.java + 2002-11-21 Mikhail Khodjaiants Added the handler of ICDIDestroyedEvent to 'CFormattedMemoryBlock. * CFormattedMemoryBlock.java diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CFormattedMemoryBlock.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CFormattedMemoryBlock.java index 35ef02886d8..fc20314ad69 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CFormattedMemoryBlock.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CFormattedMemoryBlock.java @@ -290,7 +290,7 @@ public class CFormattedMemoryBlock extends CDebugElement while( bytes != null && offset < bytes.length ) { int length = Math.min( fWordSize * fNumberOfColumns, bytes.length - offset ); - fRows.add( new CFormattedMemoryBlockRow( getStartAddress() + offset, + fRows.add( new CFormattedMemoryBlockRow( getRowAddress( offset ), createData( bytes, offset, length ), createAscii( bytes, offset, length ) ) ); offset += length; @@ -790,5 +790,15 @@ public class CFormattedMemoryBlock extends CDebugElement public boolean isStartAddressChanged() { return fStartAddressChanged; - } + } + + private long getRowAddress( int offset ) + { + long result = getStartAddress() + offset; + if ( result > 0xFFFFFFFFL ) + { + result -= 0xFFFFFFFFL; + } + return result; + } }