Hi Daniel,
Open source agent implementation sends at most one error address object, so handling more than one was not tested and it might misbehave.
Submitting to Bugzilla would be good.
It would also help a lot if you could step into org.eclipse.tcf.internal.debug.ui.model.TCFMemoryBlockRetrieval in a debugger to see why it produces unnecessary requests.
Regards,
Eugene
From: tcf-dev-bounces@xxxxxxxxxxx [mailto:tcf-dev-bounces@xxxxxxxxxxx]
On Behalf Of Daniel.Codres@xxxxxxxxxxxxx
Sent: Tuesday, September 10, 2013 8:18 AM
To: tcf-dev@xxxxxxxxxxx
Subject: [tcf-dev] Memory Monitors - Invalid Bytes
Hi All,
Before submitting this to the Bugzilla I want to check if it is a bug or we are misusing the Memory Service, maybe someone could help.
Our memory has some areas that aren’t accessible at byte level (e.g. protected) so the agent sends back an error report plus an array of error addresses objects
as documented on:
http://git.eclipse.org/c/tcf/org.eclipse.tcf.git/plain/docs/TCF%20Service%20-%20Memory.html
⇒ { "addr" :
<int: range starting address> , "size" : <int: range length in bytes> , "stat" :
<int: status code> , "msg" : <object: error description> }
These locations we are marking as BYTE_CANNOT_READ, providing all parameters into the error address list (addr, size, stat and msg)
The thing works somehow, but the problem is that the TCF GUI is unnecessarily incrementing the StartBound asking the agent for the content until the invalid
bytes are not in the request window.
This results to a read that’s very slow. After finally ending reading the GUI displays correctly the ?? on the locations that were marked as invalid.
Does someone experienced such a problem?
Thanks,
Daniel