Awesome (and very short) section of debugging: 1. Be liberal with the use of print (or cat()) statements in your functions when debugging them! 2. traceback() # can see the sequence of function calls 3. options(error = dump.frames) debugger() # permits you to see the values of objects in the various nested environments of the function calls