Running GLib Applications

Name

Running GLib Applications -- How to run and debug your GLib application

Running and debugging GLib Applications

Environment variables

GLib inspects a few of environment variables in addition to standard variables like LANG, PATH or HOME.

G_BROKEN_FILENAMES. If this environment variable is set, GLib assumes that filenames are in the locale encoding rather than in UTF-8.

G_MESSAGES_PREFIXED. A list of log levels for which messages should be prefixed by the program name and PID of the application. The default is to prefix everything except %G_LOG_LEVEL_MESSAGE and %G_LOG_LEVEL_INFO.


Traps and traces

Some code portions contain trap variables that can be set during debugging time if GLib has been configured with --enable-debug=yes. Such traps lead to immediate code halts to examine the current program state and backtrace.

Currently, the following trap variables exist:
static volatile gulong g_trap_free_size;
static volatile gulong g_trap_realloc_size;
static volatile gulong g_trap_malloc_size;
If set to a size > 0, g_free(), g_realloc() and g_malloc() will be intercepted if the size matches the size of the corresponding memory block. This will only work with g_mem_set_vtable (glib_mem_profiler_table) upon startup though, because memory profiling is required to match on the memory block sizes.