Package vtrace :: Module watchpoints :: Class PageWatchpoint
[hide private]
[frames] | no frames]

Class PageWatchpoint

source code


A special "watchpoint" that uses memory permissions to watch for accesses to whole memory maps. This *requires* OS help and only works on platforms which support: * platformProtectMemory() * signal/exceptions which denote the fault address on SEGV

NOTE: These *must* be added page aligned

Instance Methods [hide private]
 
__init__(self, addr, expression=None, size=4, watchread=False) source code
 
resolvedaddr(self, trace, addr)
An initialization callback which will be executed when the actual address for this breakpoint has been resolved.
source code
 
notify(self, event, trace)
Breakpoints may also extend and implement "notify" which will be called whenever they are hit.
source code
 
getName(self) source code
 
activate(self, trace) source code
 
deactivate(self, trace) source code

Inherited from Watchpoint: inittrace

Inherited from breakpoints.Breakpoint: __repr__, getAddress, getBreakpointCode, getId, isEnabled, resolveAddress, setBreakpointCode, setEnabled

Class Variables [hide private]

Inherited from breakpoints.Breakpoint: bpcodeobj

Method Details [hide private]

__init__(self, addr, expression=None, size=4, watchread=False)
(Constructor)

source code 
Overrides: breakpoints.Breakpoint.__init__

resolvedaddr(self, trace, addr)

source code 

An initialization callback which will be executed when the actual address for this breakpoint has been resolved.

Overrides: breakpoints.Breakpoint.resolvedaddr
(inherited documentation)

notify(self, event, trace)

source code 

Breakpoints may also extend and implement "notify" which will be called whenever they are hit. If you want to continue the ability for this breakpoint to have bpcode, you must call this method from your override.

Overrides: breakpoints.Breakpoint.notify
(inherited documentation)

getName(self)

source code 
Overrides: breakpoints.Breakpoint.getName

activate(self, trace)

source code 
Overrides: breakpoints.Breakpoint.activate

deactivate(self, trace)

source code 
Overrides: breakpoints.Breakpoint.deactivate