Den 13-09-2011 16:52, Hans-Peter Diettrich skrev:
Michael Schnell schrieb:
On 09/12/2011 11:16 PM, Hans-Peter Diettrich wrote:
- watchpoints. break when data at memory address changed.
I've seen applications crawl when such a feature was used :-(
This is bound to happen unless the CPU provides support for this.
It's not the CPU, it's more the MMU which can help in finding changed
(global) variables. When the static data segment supports interrupts
on write, a debugger only has to check whether the affected address in
the watch list. Doing such checks on *every* write to memory (stack!?)
requires many more lookups.
Hardware support for writes to arbitrary memory addresses is
restricted to very few addresses, not really useful.
How many times do you think you need more than 1-2 watchpoints? Lots of
breakpoints I can understand, but I've never found many uses for
watchpoints.
That's why Delphi normally checks for changed values only when a
breakpoint is hit, not on every instruction.
That isn't really much of a watchpoint then, unless you single step.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel