- Chapters: 1: Introduction 2: Simple example 3: Invocation 4: Finer Control 5: X-Y Plots 6: Contour Plots 7: Image Plots 8: Examples 9: Gri Commands 10: Programming 11: Environment 12: Emacs Mode 13: History 14: Installation 15: Gri Bugs 16: Test Suite 17: Gri in Press 18: Acknowledgments 19: License Indices: Concepts Commands Variables | ## 10.13: Debugging Gri Programs Here are some hints for debugging Gri programs: If no data appear on an xy plot, insert ``show columns statistics`' or ``show columns`' after the ``read columns`' command. It may be that you have fixed your axes, and that the axes frame does not include the data. If you get an error message, rerun your Gri program using the ``-trace`' command-line option, to see which line is causing the problem. This often reveals logic errors (e.g. in (``if`' statements). You may also turn tracing on or off at any point in your Gri program by setting the built-in variable ``..trace..`' to 1 or 0. Many Gri users have the Gri command aliased to be in trace mode by default. If Gri complains of a syntax error, consult the printed manual, one of the online manuals, or the online help facility (see Online Help). Check the version number (printed at startup) to see if a new version of Gri has been installed, and check the manual for known incompatabilities. Sprinkle ``show`' commands throughout your program, to see what's happening. Even when you are sure your program works, it is a good idea to embed ``show`' statements so are they executed if the ``-debug`' flag is set:
      if ..debug..
        show "X=" .x. "and label is `\label'"
      end if
If your ``draw`' commands don't draw anything, check to see whether you've fooled yourself by enforcing an improper scaling; remove explict scaling (``set x axis ...`'), clipping (``set clip`'), data selection windows (``set input data window x|y`') and missing values (``set missing value`'). Another trick is to read only a portion of the data set (``read columns 10 x y`') and then print out all the values (``show columns`'). If you determine that the bug is in Gri, not in your program, please report the bug, so that other users will not have the same hassle; (see Reporting Bugs).