&debugWhen you hit the test button it runs the test by issuing the URL http://myHost:myPort/MyPage?test. You can force the execution to take place in the same JVM that FitNesse is running in by modifying that url to http://myHost:myPort/MyPage?test&debug. If you have connected your debugger to fitnesse, then you should be able to set breakpoints in your fixtures. Of course this will only work if the fixtures are written in Java.
Print StatementsAnything you print to standard out, or standard error will be placed in the execution log for your test run. This is true whether the test fails or succeeds. The execution log is created whenever you run a test. After a test or suite has been executed, a button "Execution Log" appears. Log information of previous runs is available through the Page History.
Debugging your fixtures should be something you rarely need to do. After all, the code in your fixtures shouldn't be doing very much. At most it should be simply wiring and piping to get the data from your tables into your application and back.
An execution log page looks like this:
|6:49:19 PM (CST) on Thursday, February 26, 2004
|java -cp fitnesse.jar;classes fit.FitServer
This is an error
Notice that you can see the command that was used to run your test. This is very useful if you are concerned that your fixtures aren't running with the right classpaths. You can see the classpaths sent to the test in the -cp argument of the java command.