Version 2 (modified by 15 years ago) ( diff ) | ,
---|
Hints and Tips for Debugging in MapServer
- Use shp2img from the commandline to test your map file if possible. It is often much easier to debug problems without the extra complications of the web environment.
- Turn on debugging. As of MapServer 3.7 the MAP, LAYER and CLASS objects have a DEBUG keyword. If you include a DEBUG keyword in objects giving problems following by a greater than zero number, then various debugging output about the map, layer or class may be generated. The quality and quantity of debugging output varies widely. Note: Using MS4.0.1 I discovered that the correct syntax for DEBUG is simply DEBUG ON/OFF. Attempting to use DEBUG 5, etc. in a map file results in addtional bugs. Very confusing.
- Some additional debugging can be turned on from GDAL and OGR by setting the CPL_DEBUG environment variable to on. Similarly additional PROJ.4 debug info can be produced by setting PROJ_DEBUG to ON.
- The MS_ERRORFILE environment variable can be set to a path (or "stdout" or "stderr") to have all errors handled within MapServer to a logfile or console. This can be helpful, especially for situations where the error is otherwise ignored, or doesn't get all the way back to the client.
- For issues with PerlMapScript see: http://old-mapserver.gis.umn.edu/cgi-bin/wiki.pl?PerlMapScriptDebugging
- Double Check the EXTENT values in the mapfile against the known extent of the data being used.
- Review known problems and solutions in MapServer Issue Tracker: http://trac.osgeo.org/mapserver/.
- Review known errors and solutions in the MapServerErrors topic.
It is important to realize how and when environment variables are passed onto a CGI. For instance, Apache on Windows does not transfer environment variables to a CGI by default. The best thing is to add the environment variable MS_ERRORFILE in httpd.conf instead of adding a Windows system or user environment variable.
Syntax: SetEnv MS_ERRORFILE "stderr"
Note:
See TracWiki
for help on using the wiki.