How to debug your charts with Chrome

Share RGraph:   Share or Like RGraph on Facebook!

A guide for debugging your charts with Chrome. All browsers have developer tools and in particular a Javascript error console will make debugging your charts much easier.

Debugging your charts becomes an awful lot easier if you use a Javascript console. This is where you'll find error messages and its these messages that can help you to trace the location of an error. This page focuses on the developer tools built into Chrome, however each browser will have its own developer tools - eg Firebug for Mozilla Firefox.

The Chrome developer tools in undocked mode

The Chrome developer tools in undocked mode

When you first open the developer tools in Chrome (you can press CTRL+SHIFT+J to open the tools) they usually look like this - ie in undocked mode. You may prefer this as it gives you more space initially or you may find that showing them in docked mode is more convenient. The button for switching modes is highlighted.

The Chrome developer tools in docked mode

Here the tools are docked so that they appear joined to the main browser window at the bottom. Using them this way means that any Javascript errors will appear in the console which will make debugging your charts much easier.

The Chrome developer tools in docked mode

More information

This is a video from Google IO 2010 detailing the development tools. Remember that other browsers as well as Chrome have developer tools - so refer to their documentation for more details.

Debug functions in RGraph

Two functions that you may find very useful when you're debugging your charts are the $a() and the $p() functions. The $a() function is just a shorter alias for the standard alert() function whilst the $p() function is similar but goes further in that it attempts to "pretty print" the structure of whatever you pass it and also gives you type information. If you need to find out what a variable consists of then this is probably the function you want. However with larger objects it can cause the resulting dialog to extend offscreen.