1. A method comprising: allocating a respective memory location for storing a value of each of one or more variables of a software application; registering the one or more variables with an event agent; updating, during execution of the software application, the value stored in the respective memory location for each of the registered variables in response to the value of each of the registered variables changing during execution; detecting a system event; accessing the respective memory location for each of the registered variables to capture the value of each of the registered variables; associating the value of each of the registered variables with the system event.