summaryrefslogtreecommitdiff
path: root/gtk+-mingw/share/gtk-doc/html/glib/glib-running.html
diff options
context:
space:
mode:
Diffstat (limited to 'gtk+-mingw/share/gtk-doc/html/glib/glib-running.html')
-rw-r--r--gtk+-mingw/share/gtk-doc/html/glib/glib-running.html334
1 files changed, 0 insertions, 334 deletions
diff --git a/gtk+-mingw/share/gtk-doc/html/glib/glib-running.html b/gtk+-mingw/share/gtk-doc/html/glib/glib-running.html
deleted file mode 100644
index f6c0684..0000000
--- a/gtk+-mingw/share/gtk-doc/html/glib/glib-running.html
+++ /dev/null
@@ -1,334 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Running GLib Applications</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="index.html" title="GLib Reference Manual">
-<link rel="up" href="glib.html" title="GLib Overview">
-<link rel="prev" href="glib-compiling.html" title="Compiling GLib Applications">
-<link rel="next" href="glib-changes.html" title="Changes to GLib">
-<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="glib-compiling.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="glib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GLib Reference Manual</th>
-<td><a accesskey="n" href="glib-changes.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="glib-running"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle">Running GLib Applications</span></h2>
-<p>Running GLib Applications —
-How to run and debug your GLib application
-</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="idp8610528"></a><h2>Running and debugging GLib Applications</h2>
-<div class="refsect2">
-<a name="idp6666064"></a><h3>Environment variables</h3>
-<p>
- The runtime behaviour of GLib applications can be influenced by a
- number of environment variables.
-</p>
-<p><b>Standard variables. </b>
- GLib reads standard environment variables like <code class="envar">LANG</code>,
- <code class="envar">PATH</code>, <code class="envar">HOME</code>, <code class="envar">TMPDIR</code>,
- <code class="envar">TZ</code> and <code class="envar">LOGNAME</code>.
- </p>
-<p><b>XDG directories. </b>
- GLib consults the environment variables <code class="envar">XDG_DATA_HOME</code>,
- <code class="envar">XDG_DATA_DIRS</code>, <code class="envar">XDG_CONFIG_HOME</code>,
- <code class="envar">XDG_CONFIG_DIRS</code>, <code class="envar">XDG_CACHE_HOME</code> and
- <code class="envar">XDG_RUNTIME_DIR</code> for the various XDG directories.
- For more information, see the <a class="ulink" href="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html" target="_top">XDG basedir spec</a>.
- </p>
-<p><a name="G_FILENAME_ENCODING"></a><b><code class="envar">G_FILENAME_ENCODING</code>. </b>
- This environment variable can be set to a comma-separated list of character
- set names. GLib assumes that filenames are encoded in the first character
- set from that list rather than in UTF-8. The special token "@locale" can be
- used to specify the character set for the current locale.
- </p>
-<p><a name="G_BROKEN_FILENAMES"></a><b><code class="envar">G_BROKEN_FILENAMES</code>. </b>
- If this environment variable is set, GLib assumes that filenames are in
- the locale encoding rather than in UTF-8. G_FILENAME_ENCODING takes
- priority over G_BROKEN_FILENAMES.
- </p>
-<p><a name="G_MESSAGES_PREFIXED"></a><b><code class="envar">G_MESSAGES_PREFIXED</code>. </b>
- 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 <code class="literal">G_LOG_LEVEL_MESSAGE</code> and
- <code class="literal">G_LOG_LEVEL_INFO</code>.
- The possible values are
- <code class="literal">error</code>,
- <code class="literal">warning</code>,
- <code class="literal">critical</code>,
- <code class="literal">message</code>,
- <code class="literal">info</code> and
- <code class="literal">debug</code>.
- You can also use the special values
- <code class="literal">all</code> and
- <code class="literal">help</code>.
-
- This environment variable only affects the default log handler,
- g_log_default_handler().
- </p>
-<p><a name="G_MESSAGES_DEBUG"></a><b><code class="envar">G_MESSAGES_DEBUG</code>. </b>
- A space-separated list of log domains for which informational
- and debug messages should be printed. By default, these
- messages are not printed.
-
- You can also use the special value <code class="literal">all</code>.
-
- This environment variable only affects the default log handler,
- g_log_default_handler().
- </p>
-<p><a name="G-DEBUG:CAPS"></a><b><code class="envar">G_DEBUG</code>. </b>
- This environment variable can be set to a list of debug options,
- which cause GLib to print out different types of debugging information.
- </p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">fatal-warnings</span></p></td>
-<td><p>Causes GLib to abort the program at the first call
- to g_warning() or g_critical().</p></td>
-</tr>
-<tr>
-<td><p><span class="term">fatal-criticals</span></p></td>
-<td><p>Causes GLib to abort the program at the first call
- to g_critical().</p></td>
-</tr>
-<tr>
-<td><p><span class="term">gc-friendly</span></p></td>
-<td><p>Newly allocated memory that isn't directly initialized,
- as well as memory being freed will be reset to 0. The point here is
- to allow memory checkers and similar programs that use Boehm GC alike
- algorithms to produce more accurate results.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">resident-modules</span></p></td>
-<td><p>All modules loaded by GModule will be made resident.
- This can be useful for tracking memory leaks in modules which are
- later unloaded; but it can also hide bugs where code is accessed
- after the module would have normally been unloaded.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">bind-now-modules</span></p></td>
-<td><p>All modules loaded by GModule will bind their symbols
- at load time, even when the code uses %G_MODULE_BIND_LAZY.</p></td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The special value all can be used to turn on all debug options.
- The special value help can be used to print all available options.
- </p>
-<p><a name="G_SLICE"></a><b><code class="envar">G_SLICE</code>. </b>
- This environment variable allows reconfiguration of the GSlice
- memory allocator.
- </p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">always-malloc</span></p></td>
-<td><p>This will cause all slices allocated through
- g_slice_alloc() and released by g_slice_free1() to be actually
- allocated via direct calls to g_malloc() and g_free().
- This is most useful for memory checkers and similar programs that
- use Boehm GC alike algorithms to produce more accurate results.
- It can also be in conjunction with debugging features of the system's
- malloc() implementation such as glibc's MALLOC_CHECK_=2 to debug
- erroneous slice allocation code, although
- <code class="literal">debug-blocks</code> is usually a better suited debugging
- tool.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">debug-blocks</span></p></td>
-<td>
-<p>Using this option (present since GLib 2.13) engages
- extra code which performs sanity checks on the released memory
- slices. Invalid slice adresses or slice sizes will be reported and
- lead to a program halt. This option is for debugging scenarios.
- In particular, client packages sporting their own test suite should
- <span class="emphasis"><em>always enable this option when running tests</em></span>.
- Global slice validation is ensured by storing size and address
- information for each allocated chunk, and maintaining a global
- hash table of that data. That way, multi-thread scalability is
- given up, and memory consumption is increased. However, the
- resulting code usually performs acceptably well, possibly better
- than with comparable memory checking carried out using external
- tools.</p>
-<p>An example of a memory corruption scenario that cannot be
- reproduced with <code class="literal">G_SLICE=always-malloc</code>, but will
- be caught by <code class="literal">G_SLICE=debug-blocks</code> is as follows:
- </p>
-<pre class="programlisting">
- void *slist = g_slist_alloc (); /* void* gives up type-safety */
- g_list_free (slist); /* corruption: sizeof (GSList) != sizeof (GList) */
- </pre>
-</td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The special value all can be used to turn on all options.
- The special value help can be used to print all available options.
- </p>
-<p><a name="G_RANDOM_VERSION"></a><b><code class="envar">G_RANDOM_VERSION</code>. </b>
- If this environment variable is set to '2.0', the outdated
- pseudo-random number seeding and generation algorithms from
- GLib 2.0 are used instead of the newer, better ones. You should
- only set this variable if you have sequences of numbers that were
- generated with Glib 2.0 that you need to reproduce exactly.
- </p>
-<p><a name="LIBCHARSET_ALIAS_DIR"></a><b><code class="envar">LIBCHARSET_ALIAS_DIR</code>. </b>
- Allows to specify a nonstandard location for the
- <code class="filename">charset.aliases</code> file that is used by the
- character set conversion routines. The default location is the
- <em class="replaceable"><code>libdir</code></em> specified at compilation time.
- </p>
-<p><a name="TZDIR"></a><b><code class="envar">TZDIR</code>. </b>
- Allows to specify a nonstandard location for the timezone data files
- that are used by the #GDateTime API. The default location is under
- <code class="filename">/usr/share/zoneinfo</code>. For more information,
- also look at the <span class="command"><strong>tzset</strong></span> manual page.
- </p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="setlocale"></a><h3>Locale</h3>
-<p>
-A number of interfaces in GLib depend on the current locale in which
-an application is running. Therefore, most GLib-using applications should
-call <code class="function">setlocale (LC_ALL, "")</code> to set up the current
-locale.
-</p>
-<p>
-On Windows, in a C program there are several locale concepts
-that not necessarily are synchronized. On one hand, there is the
-system default ANSI code-page, which determines what encoding is used
-for file names handled by the C library's functions and the Win32
-API. (We are talking about the "narrow" functions here that take
-character pointers, not the "wide" ones.)
-</p>
-<p>
-On the other hand, there is the C library's current locale. The
-character set (code-page) used by that is not necessarily the same as
-the system default ANSI code-page. Strings in this character set are
-returned by functions like <code class="function">strftime()</code>.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idp11195616"></a><h3>Traps and traces</h3>
-<p>
-
-
-
-Some code portions contain trap variables that can be set during debugging
-time if GLib has been configured with <code class="option">--enable-debug=yes</code>.
-Such traps lead to immediate code halts to examine the current program state
-and backtrace.
-</p>
-<p>
-Currently, the following trap variables exist:
-</p>
-<pre class="programlisting">
-static volatile gulong g_trap_free_size;
-static volatile gulong g_trap_realloc_size;
-static volatile gulong g_trap_malloc_size;
-</pre>
-<p>
-If set to a size &gt; 0, <a class="link" href="glib-Memory-Allocation.html#g-free" title="g_free ()">g_free</a>(),
-<a class="link" href="glib-Memory-Allocation.html#g-realloc" title="g_realloc ()">g_realloc</a>() and
-<a class="link" href="glib-Memory-Allocation.html#g-malloc" title="g_malloc ()">g_malloc</a>() will be intercepted if the size
-matches the size of the corresponding memory block. This will only work with
-<code class="literal">g_mem_set_vtable (glib_mem_profiler_table)</code> upon startup
-though, because memory profiling is required to match on the memory block sizes.
-</p>
-<p>
-Note that many modern debuggers support conditional breakpoints, which achieve
-pretty much the same. E.g. in gdb, you can do
-</p>
-<pre class="programlisting">
-break g_malloc
-condition 1 n_bytes == 20
-</pre>
-<p>
-to break only on g_malloc() calls where the size of the allocated memory block
-is 20.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idp11205616"></a><h3>Gdb debugging macros</h3>
-<p>
-glib ships with a set of python macros for the gdb debugger. These includes pretty
-printers for lists, hashtables and gobject types. It also has a backtrace filter
-that makes backtraces with signal emissions easier to read.
-</p>
-<p>
-To use this you need a recent enough gdb that supports python scripting. Gdb 7.0
-should be recent enough, but branches of the "archer" gdb tree as used in Fedora 11
-and Fedora 12 should work too. You then need to install glib in the same prefix as
-gdb so that the python gdb autoloaded files get installed in the right place for
-gdb to pick up.
-</p>
-<p>
-General pretty printing should just happen without having to do anything special.
-To get the signal emission filtered backtrace you must use the "new-backtrace" command
-instead of the standard one.
-</p>
-<p>
-There is also a new command called gforeach that can be used to apply a command
-on each item in a list. E.g. you can do
-</p>
-<pre class="programlisting">
-gforeach i in some_list_variable: print *(GtkWidget *)l
-</pre>
-<p>
-Which would print the contents of each widget in a list of widgets.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idp11209792"></a><h3>SystemTap</h3>
-<p>
-<a class="ulink" href="http://sourceware.org/systemtap/" target="_top">SystemTap</a> is a dynamic whole-system
-analysis toolkit. GLib ships with a file <code class="filename">glib.stp</code> which defines a
-set of probe points, which you can hook into with custom SystemTap scripts.
-See the files <code class="filename">glib.stp</code> and <code class="filename">gobject.stp</code> which
-are in your shared SystemTap scripts directory.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="idp11214064"></a><h3>Memory statistics</h3>
-<p>
-g_mem_profile() will output a summary g_malloc() memory usage, if memory
-profiling has been enabled by calling
-<code class="literal">g_mem_set_vtable (glib_mem_profiler_table)</code> upon startup.
-</p>
-<p>
-If GLib has been configured with <code class="option">--enable-debug=yes</code>,
-then g_slice_debug_tree_statistics() can be called in a debugger to
-output details about the memory usage of the slice allocator.
-</p>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>
- Generated by GTK-Doc V1.18</div>
-</body>
-</html> \ No newline at end of file