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.

That's why Delphi normally checks for changed values only when a breakpoint is hit, not on every instruction.

DoDi

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

Reply via email to