Patent ID: 7447942

Claim:
A method of generating a breakpoint halt in a software program, the method comprising: receiving a first breakpoint in the software program, the first breakpoint containing a first address and at least one attribute from the group consisting of a data value, a read instruction and a write instruction, the software program to be executed in a virtual memory environment using virtual address (VA) to physical address (PA) page translations in a translation look-aside buffer (TLB); removing an entry from the TLB, the entry corresponding to a page comprising the first breakpoint; adding the first address of the first breakpoint to a watchlist; executing the software program until an exception is generated, the exception occurring upon an attempted access to a memory location whose VA to PA page translation is absent from the TLB; generating a TLB entry for the absent page translation; determining if the memory location matches the first address in the watchlist and determining if the memory location and information associated with access to the memory location matches the at least one attribute associated with the first breakpoint in the watchlist; halting execution of the software program if the memory location matches the first address; decoding the instruction corresponding to the memory address if the write instruction is present; and notifying a debugger program of the write instruction and the value of the data to be written, whereby the data to be written may be modified by the debugger before execution of the write instruction.