Patent ID: 7958399

Claim:
A data processing system for debugging a software program using an external device, comprising: a central processing unit for executing instructions to implement a program; a first memory coupled to the central processing unit for storing variable data values generated by the instructions for variables of the program; an eventing engine configurable at runtime by an application programming interface to monitor in real-time at least one of the variable data values and determine the occurrence of an event related to the at least one of the variable data values; wherein the event is defined by a pointer to the location of an associated variable data value, the current value of the variable data value, an event operator, and an operator argument; a debug module coupled to the central processing unit and to the eventing engine, and configured to subscribe to at least one event wherein the debug module can receive variable data values based on the subscribed event by way of the eventing engine in real time; and an interface to connect to an external device; wherein both event based variable watching and debugging can occur contemporaneously by a user using an external device connected to the interface.