George2, perhaps you'd like to combine replies to several people in a single post :)
Any decent debugger will do. If you use MSVC, the built-in debugger could be used; if you use gcc then try gdb. There are also high-end commercial debuggers avaliable. A quick read of the debugger's documentation should give you a basic idea of how to use it for your program.