Normally Mesa (and OpenGL) records but does not notify the user of
errors. It is up to the application to call
glGetError to check for
errors. Mesa supports an environment variable, MESA_DEBUG, to help with
debugging. If MESA_DEBUG is defined, a message will be printed to
stdout whenever an error occurs.
More extensive error checking is done when Mesa is compiled with the DEBUG symbol defined. You’ll have to edit the Make-config file and add -DDEBUG to the CFLAGS line for your system configuration. You may also want to replace any optimization flags with the -g flag so you can use your debugger. After you’ve edited Make-config type ‘make clean’ before recompiling.
In your debugger you can set a breakpoint in _mesa_error() to trap Mesa errors.
There is a display list printing/debugging facility. See the end of src/dlist.c for details.