Patent ID: 8572577

Claim:
A method for monitoring changes to a value of a program variable within a threaded program which comprises different program threads configured for concurrent execution, the threaded program not changing the value of the program variable outside a predetermined section of the threaded program if the different program threads are properly synchronized with each other, the method comprising the steps of: a debugger program setting a first break point for a start of the predetermined section, and setting a second break point for an end of the predetermined section; the debugger program receiving a command to monitor for the changes to the value of the program variable; the debugger program initiating execution of the threaded program, and during the execution of the threaded program a program tool coupled to the debugger program monitoring execution of the threaded program; responsive to a change to the value of the program variable by one of the program threads in the different program threads, the program tool identifying the change to the value of the program variable, within the threaded program, resulting from the execution of the one program thread in the threaded program; the program tool determining whether the change to the value of the program variable occurred between the start and the end of the predetermined section of the threaded program or outside the start and the end of the predetermined section based on whether the change occurs while the one program thread is executing between the first break point and the second break point; and if the one program thread has changed the value of the program variable between the start and the end of the predetermined section, the program tool does not indicate an error due to the change in the value of the program variable, and if the one program thread has changed the value of the program variable outside the start and the end of the predetermined section, the program tool indicating a potential error condition.