Improve generation of pseudo-random integers. (#99720, Morten Welinder
[platform/upstream/glib.git] / docs / reference / glib / running.sgml
1 <refentry id="glib-running" revision="17 Jan 2002">
2 <refmeta>
3 <refentrytitle>Running GLib Applications</refentrytitle>
4 <manvolnum>3</manvolnum>
5 <refmiscinfo>GLib Library</refmiscinfo>
6 </refmeta>
7
8 <refnamediv>
9 <refname>Running GLib Applications</refname>
10 <refpurpose>
11 How to run and debug your GLib application
12 </refpurpose>
13 </refnamediv>
14
15 <refsect1>
16 <title>Running and debugging GLib Applications</title>
17
18 <refsect2>
19 <title>Environment variables</title>
20
21 <para> 
22 GLib inspects a few of environment variables in addition to standard
23 variables like <envar>LANG</envar>, <envar>PATH</envar> or <envar>HOME</envar>. 
24 </para>
25
26 <formalpara>
27   <title><envar>G_BROKEN_FILENAMES</envar></title>
28
29   <para>
30     If this environment variable is set, GLib assumes that filenames are in 
31     the locale encoding rather than in UTF-8.
32   </para>
33 </formalpara>
34
35 <formalpara>
36   <title><envar>G_MESSAGES_PREFIXED</envar></title>
37
38   <para>
39     A list of log levels for which messages should be prefixed by the 
40     program name and PID of the application. The default is to prefix
41     everything except <literal>G_LOG_LEVEL_MESSAGE</literal> and <literal>G_LOG_LEVEL_INFO</literal>. 
42   </para>
43 </formalpara>
44
45 <formalpara>
46   <title><envar>G_DEBUG</envar></title>
47
48   <para>
49     If GLib has been configured with <option>--enable-debug=yes</option>,
50     this variable can be set to a list of debug options, which cause GLib
51     to print out different types of debugging information.
52     <variablelist>
53       <varlistentry>
54         <term>fatal_warnings</term>
55         <listitem><para>Causes GLib to abort the program at the first call
56            to <link linkend="g-warning">g_warning</link>(). This option is 
57            special in that it doesn't require GLib to be configured with 
58            debugging support.</para>
59         </listitem>
60       </varlistentry>
61     </variablelist>
62   </para>
63 </formalpara>
64
65 <formalpara>
66   <title><envar>G_RANDOM_VERSION</envar></title>
67
68   <para>
69     If this environment variable is set to '2.0', the outdated
70     pseudo-random number seeding and generation algorithms from
71     GLib-2.0 are used instead of the new better ones. Use the GLib-2.0
72     algorithms only if you have sequences of numbers generated with
73     Glib-2.0 that you need to reproduce exactly.  
74   </para>
75 </formalpara> 
76
77 </refsect2>
78
79 <refsect2>
80 <title>Traps and traces</title>
81
82 <para>
83 Some code portions contain trap variables that can be set during debugging 
84 time if GLib has been configured with <option>--enable-debug=yes</option>. 
85 Such traps lead to immediate code halts to examine the current program state 
86 and backtrace.
87 </para>
88
89 <para>
90 Currently, the following trap variables exist:
91 <programlisting>
92 static volatile gulong g_trap_free_size;
93 static volatile gulong g_trap_realloc_size;
94 static volatile gulong g_trap_malloc_size;
95 </programlisting>
96 If set to a size > 0, <link linkend="g-free">g_free</link>(), 
97 <link linkend="g-realloc">g_realloc</link>() and 
98 <link linkend="g-malloc">g_malloc</link>() will be intercepted if the size 
99 matches the size of the corresponding memory block. This will only work with 
100 <literal>g_mem_set_vtable (glib_mem_profiler_table)</literal> upon startup 
101 though, because memory profiling is required to match on the memory block sizes.
102 </para>
103 </refsect2>
104
105 </refsect1>
106
107 </refentry>