Community
Participate
Working Groups
Build Identifier: 3.7.0 Traditional rendering is not able to display ? only for unreadable bytes. Instead, it displays ? on the entire cell that contain an unreadable byte, hiding bytes that, in fact, were correcly read. Example: Read 4 bytes, the 1st byte was unreadable, the rest were read and have all value 0. Display is hex, big endian, 4 bytes per cell. Currently displayed: ???????? Must display: ??000000 The fix should enable pe byte display on unreadable bytes for hex and binary radices. These are the only radices which have 1 to N mapping between the read bytes array and chars in the formatted array (1 to 2 for hex, 1 to 8 for binary). Reproducible: Always Steps to Reproduce: 1. While debugging, open a traditional memory rendering over a memory area that has isolated unreadable bytes. 2. Choose hex or binary radix. 3. Observe that not only the unreadable bytes are marked with ? but the entire cells to which they belong.
Created attachment 192799 [details] proposed fix according with bug description
Indeed, traditional rendering behaves differently then platform with regard to how we display a word that is partially readable. Platform Hex rendering is padding only the unreadable byte, while traditional rendering is marking the whole word as readable.
I have committed the fix with slight change to not try to char convert all unreadable bytes if the whole block/word is unreadable.
*** cdt cvs genie on behalf of tmadan *** Bug 342239 - Traditional memory rendering lacks per byte display granularity for unreadable bytes [*] Rendering.java 1.19 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/memory/org.eclipse.cdt.debug.ui.memory.traditional/src/org/eclipse/cdt/debug/ui/memory/traditional/Rendering.java?root=Tools_Project&r1=1.18&r2=1.19