Bug 234897 - memory view page up does not work if preference preBufferSize=0
Summary: memory view page up does not work if preference preBufferSize=0
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-debug (show other bugs)
Version: 4.0.3   Edit
Hardware: PC Windows Vista
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: cdt-debug-inbox@eclipse.org CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-30 14:00 EDT by Pete MacLiesh CLA
Modified: 2020-09-04 15:25 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pete MacLiesh CLA 2008-05-30 14:00:06 EDT
Build ID: 3.3.2 M20080221-1800

Steps To Reproduce:
create a plugincustomization.ini with this line:

org.eclipse.debug.ui/org.eclispe.debug.ui.memory.preBufferSize=0

run eclipse/cdt with -plugincustomization pointing to that file
in the memory view open a memory monitor on any valid address
page down several times
page up ... doesn't work

More information:
give the memory view an address (say 0x200_0000) and it requests memory from the target starting before that address. This makes it really hard to read the very first bytes of a memory because the debug target may fail if the range requested of it is partially invalid (specifically embedded targets that don't have "virtual memory everywhere").

Reading the code i found this undocumented preference to set the "preBufferSize" and it seems to be what i want. Setting it to zero has the desired effect of making the mem view request bytes starting the start address it is given, but it causes "page up" in the mem view to stop working.

Note that this is probably in the platform somewhere, not cdt, but i have no way to test or see the behaviour without cdt so i thought i should start here.
Comment 1 Pete MacLiesh CLA 2008-05-30 20:24:57 EDT
More info. Note that this is still with pref "preBufferSize=0"

A block is read from the target which extends beyond the bottom of the visible view range. You can page fore/back within that range. However, as soon as a page down causes a read from the target you can not page back before the start address of that read.

I tried debugging the code, but got lost somewhere in AsyncTableRenderingViewer.
Comment 2 Nobody - feel free to take it CLA 2008-06-02 06:20:08 EDT
cc'ing Samantha for a comment.