configure.in gdk/gdk.[ch] gdk/gdkcc.c gdk/gdkglobals.c

Thu Feb 19 01:11:48 1998  Owen Taylor  <owt1@cornell.edu>

	* configure.in         gdk/gdk.[ch]         gdk/gdkcc.c
	  gdk/gdkglobals.c     gdk/gdkinputcommon.h gdk/gdkprivate.h
	  gdk/gdkvisual.c      glib/configure.in    glib/glib.h
	  glib/gutils.c        gtk/Makefile.am      gtk/gtkmain.c
	  gtk/gtkobject.[ch]   gtk/gtkdebug.h       docs/debugging.txt

	New system for controlling debugging:

	* --enable-debug=[no/yes/minimum]
	* G_DISABLE_ASSERT and G_DISABLE_CHECKS for glib
	* G_NO_CHECK_CASTS to control cast checking
	* G_ENABLE_DEBUG enables run time checking which controls:
	    Object tracing
	    Showing events
	    Miscellaneous g_print's in GDK
	  And is controlled by --gdk-debug/GDK_DEBUG, --gtk-debug/GTK_DEBUG
        * debug_level and show_events are gone from GTK

	See docs/debugging.txt for details.

	And some fixups to the configure.in's so '-g' can be
	overriden on the command line for --enable-debug
This commit is contained in:
Owen Taylor
1998-02-19 06:21:27 +00:00
committed by Owen Taylor
parent 3d4cc2f904
commit fc7e845c8f
28 changed files with 873 additions and 488 deletions

83
docs/debugging.txt Normal file
View File

@ -0,0 +1,83 @@
The GLIB, GDK, and GTK libraries have extensive support for
debugging the library and your programs.
The amount of debugging being done can be determined both
at run time and compile time.
COMPILE TIME OPTIONS
--------------------
At compile time, the amount of debugging support included is
determined by four macros:
G_ENABLE_DEBUG
If set, enable support for runtime checking.
G_DISABLE_ASSERT
If set, disable g_assert macros
G_DISABLE_CHECKS
If set, disable the g_return_if_fail and g_return_val_if_fail macros
GTK_NO_CHECK_CASTS
If set, don't check casts between different object types
Whether these macros are defined is controlled at configuration
time by the --enable-debug option.
--enable-debug=minimum [default]
Enable only inexpensive sanity checking
sets GTK_NO_CHECK_CASTS
--enable-debug=yes
Enable all debugging support
sets G_ENABLE_DEBUG
--enable-debug=no (or --disable-debug)
Disable all debugging support (fastest)
sets G_DISABLE_ASSERT, G_DISABLE_CHECKS, and GTK_NO_CHECK_CASTS
RUN TIME OPTIONS
----------------
At run time, if GTK+ was compiled with debugging enabled,
different types of debugging information can be printed
out by setting the --gtk-debug and --gdk-debug command line
options, or the GTK_DEBUG and GDK_DEBUG environment
variables. (The command line options override the environment
variables)
Each of these can either be the special value ALL,
or a sequence of ':' separated options. (Note, case is
significant)
As noted below, some of these are useful in application
debugging, but most are only interested to those debugging
the libraries
GTK_DEBUG
---------
Application relevant options:
'objects' - Trace the creation and destruction of objects, print
out a summary at program termination
Options only interesting to library maintainers:
GDK_DEBUG
---------
Application relevant options:
'events' - Show all events received by GTK
Options only interesting to library maintainers:
'misc' - Miscellaneous information
'dnd' - Information about drag-and-drop
'color-context' - Information about the internal workings of
GdkColorContext
'xim' - Information about X Input Method support