mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-30 17:36:16 +01:00
00bfb3ab44
This was mostly machine generated with the following command: ``` codespell \ --builtin clear,rare,usage \ --skip './po/*' --skip './.git/*' --skip './NEWS*' \ --write-changes . ``` using the latest git version of `codespell` as per [these instructions](https://github.com/codespell-project/codespell#user-content-updating). Then I manually checked each change using `git add -p`, made a few manual fixups and dropped a load of incorrect changes. There are still some outdated or loaded terms used in GLib, mostly to do with git branch terminology. They will need to be changed later as part of a wider migration of git terminology. If I’ve missed anything, please file an issue! Signed-off-by: Philip Withnall <withnall@endlessm.com>
38 lines
1.8 KiB
Plaintext
38 lines
1.8 KiB
Plaintext
|
|
Traps (G_BREAKPOINT) and traces for the debugging
|
|
=================================================
|
|
|
|
Some code portions contain trap variables that can be set during
|
|
debugging time if G_ENABLE_DEBUG has been defined upon compilation
|
|
(use the --buildtype=debug option to configure for this, macros.txt
|
|
covers more details).
|
|
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()
|
|
respectively, will be intercepted if the size matches the
|
|
size of the corresponding memory block to free/reallocate/allocate.
|
|
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.
|
|
static volatile GObject *g_trap_object_ref;
|
|
If set to a valid object pointer, ref/unref will be intercepted
|
|
with G_BREAKPOINT ();
|
|
static volatile gpointer *g_trap_instance_signals;
|
|
static volatile gpointer *g_trace_instance_signals;
|
|
If set to a valid instance pointer, debugging messages
|
|
will be spewed about emissions of signals on this instance.
|
|
For g_trap_instance_signals matches, the emissions will
|
|
also be intercepted with G_BREAKPOINT ();
|
|
|
|
Environment variables for debugging
|
|
===================================
|
|
When G_ENABLE_DEBUG was defined upon compilation, the GObject library
|
|
supports an environment variable GOBJECT_DEBUG that can be set to a
|
|
combination of the flags passed in to g_type_init() (currently
|
|
"objects" and "signals") to trigger debugging messages about
|
|
object bookkeeping and signal emissions during runtime. |