On 14.09.2011 12:44, Michael Schnell wrote:
On 09/13/2011 04:52 PM, Hans-Peter Diettrich wrote:

It's not the CPU, it's more the MMU which can help in finding changed
(global) variables.
AFAIK, the MMU can not work in byte addresses but just with much bigger
blocks of data. So it does not seem to help with finding a write access
to a dedicated variable.

Moreover the MMU programming and interrupts will be consumed by the OS
and a user space program can't even see it.

But the debugger can ask the OS to write protect a page or to enable a page guard (which triggers on write access) and then the corresponding signal/exception can be catched. This reduces the checks necessary from the complete process memory down to only the page size.

Note: I don't know whether it's implemented like that in any debugger, this is just a theory of mine.

Regards,
Sven

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to