next up previous
Next: An Example Up: Programming in S-PLUS1 Previous: Bulletproofing

Debugging Functions

S-PLUS has a few functions which are helpful for figuring out where errors are occurring. The function inspect is an interactive debugger, which allows you to step through a function and check the values of the variables at each point. Usually, this will be sufficient to identify a bug, but inspect has more advanced features as well.

Type inspect(max.power(2,9)) to trace through a call to max.power with arguments 2 and 9. The inspect prompt, d> will appear. Type help to see a list of commands, and objects to see a list of variables defined in the function.

The main commands you will need are do to advance one command of the program, step to advance one line of a loop of a program, and eval to evaluate a variable. You can advance multiple lines by typing do followed by the number of lines, and a similar thing works for step. The difference between do and step is that do treats a block of commands (for instance, in a loop) as a single command, while step looks at each command separately.

The command resume ends the debugger after running through the rest of the program, and quit ends the debugger without executing any more.


next up previous
Next: An Example Up: Programming in S-PLUS1 Previous: Bulletproofing
Brian Junker 2002-08-26