I'm looking to 'watch' a program as it executes. I want to, for example, keep track of a program's stack pointer as it changes through execution. I've been looking at scripting GDB with python but the solutions to this are very buggy - I've been unsuccessful thus far at installing PythonGDB. If anyone has any solutions / recommendations as to how to approach this problem I would be very grateful.

EDIT: I should have mentioned, I'm looking to record these values - ideally automatically - to be able to review them afterwards. I understand GDB allows me to step through the program and view the each state but I want to automate this process to be able to 'watch' how a particular values (such as the SP) change over time.