<html> <head> <title>Gri: Debugging Gri programs</title> </head> <body bgcolor="#FFFFFF" text="#000000" link="#0000EE" vlink="#551A8B" alink="FF0000"> <!-- newfile Debugging.html "Gri: Debugging Gri programs" "Programming Gri" --> <!-- @node Debugging, Error Messages, Hints, Programming --> <a name="Debugging" ></a> <img src="./resources/top_banner.gif" usemap="#navigate_top" border="0"> <table summary="top banner" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="150" valign="top"> <font size=-1> <br> Chapters: </br> <a href="Introduction.html">1: Introduction</a><br> <a href="SimpleExample.html">2: Simple example</a><br> <a href="InvokingGri.html">3: Invocation</a><br> <a href="GettingMoreControl.html">4: Finer Control</a><br> <a href="X-Y.html">5: X-Y Plots</a><br> <a href="ContourPlots.html">6: Contour Plots</a><br> <a href="Images.html">7: Image Plots</a><br> <a href="Examples.html">8: Examples</a><br> <a href="Commands.html">9: Gri Commands</a><br> <a href="Programming.html">10: Programming</a><br> <a href="Environment.html">11: Environment</a><br> <a href="Emacs.html">12: Emacs Mode</a><br> <a href="History.html">13: History</a><br> <a href="Installation.html">14: Installation</a><br> <a href="Bugs.html">15: Gri Bugs</a><br> <a href="TestSuite.html">16: Test Suite</a><br> <a href="Acknowledgments.html">17: Acknowledgments</a><br> <a href="License.html">18: License</a><br> <br> Indices:</br> <a href="ConceptIndex.html"><i>Concepts</i></a><br> <a href="CommandIndex.html"><i>Commands</i></a><br> <a href="BuiltinIndex.html"><i>Variables</i></a><br> </font> <td width="500" valign="top"> <map name="navigate_top"> <area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top"> <area alt="Programming.html#Programming" shape="rect" coords="516,2,532,24" href="Programming.html#Programming"> <area alt="Gri: Hints for Gri programming" shape="rect" coords="557,2,573,24" href="Hints.html"> <area alt="Gri: error messages" shape="rect" coords="581,2,599,24" href="ErrorMessages.html"> </map> <map name="navigate_bottom"> <area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top"> <area alt="Gri: error messages" shape="rect" coords="581,2,599,24" href="ErrorMessages.html"></map> <h2>10.13: Debugging Gri Programs</h2> Here are some hints for debugging Gri programs: <ul> <li> If no data appear on an xy plot, insert `<font color="#82140F"><code>show columns statistics</code></font>' or `<font color="#82140F"><code>show columns</code></font>' after the `<font color="#82140F"><code>read columns</code></font>' command. It may be that you have fixed your axes, and that the axes frame does not include the data. <li> If you get an error message, rerun your Gri program using the `<font color="#82140F"><code>-trace</code></font>' command-line option, to see which line is causing the problem. This often reveals logic errors (e.g. in (`<font color="#82140F"><code>if</code></font>' statements). You may also turn tracing on or off at any point in your Gri program by setting the built-in variable `<font color="#82140F"><code>..trace..</code></font>' to 1 or 0. Many Gri users have the Gri command aliased to be in trace mode by default. <li> If Gri complains of a syntax error, consult the printed manual, one of the online manuals, or the online help facility (see <a href="OnlineHelp.html#OnlineHelp">Online Help</a>). <li> 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. <li> Sprinkle `<font color="#82140F"><code>show</code></font>' commands throughout your program, to see what's happening. Even when you are sure your program works, it is a good idea to embed `<font color="#82140F"><code>show</code></font>' statements so are they executed if the `<font color="#82140F"><code>-debug</code></font>' flag is set: <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> if ..debug.. show "X=" .x. "and label is `\label'" end if </font></PRE> </TD> </TR> </TABLE> <p> <li> If your `<font color="#82140F"><code>draw</code></font>' commands don't draw anything, check to see whether you've fooled yourself by enforcing an improper scaling; remove explict scaling (`<font color="#82140F"><code>set x axis ...</code></font>'), clipping (`<font color="#82140F"><code>set clip</code></font>'), data selection windows (`<font color="#82140F"><code>set input data window x|y</code></font>') and missing values (`<font color="#82140F"><code>set missing value</code></font>'). Another trick is to read only a portion of the data set (`<font color="#82140F"><code>read columns 10 x y</code></font>') and then print out all the values (`<font color="#82140F"><code>show columns</code></font>'). </ul> <p> 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 <a href="Bugs.html#Bugs">Bugs</a>). <p> </table> <img src="./resources/bottom_banner.gif" usemap="#navigate_bottom" border="0"> </body> </html>