📄 glib-running.html
字号:
<html xmlns:cf="http://docbook.sourceforge.net/xmlns/chunkfast/1.0"><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>Running GLib Applications</title><meta name="generator" content="DocBook XSL Stylesheets V1.69.0"><link rel="start" 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.4 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="chapter" href="glib.html" title="GLib Overview"><link rel="chapter" href="glib-fundamentals.html" title="GLib Fundamentals"><link rel="chapter" href="glib-core.html" title="GLib Core Application Support"><link rel="chapter" href="glib-utilities.html" title="GLib Utilities"><link rel="chapter" href="glib-data-types.html" title="GLib Data Types"><link rel="chapter" href="tools.html" title="GLib Tools"><link rel="index" href="ix01.html" title="Index"><link rel="index" href="ix02.html" title="Index of deprecated symbols"><link rel="index" href="ix03.html" title="Index of new symbols in 2.2"><link rel="index" href="ix04.html" title="Index of new symbols in 2.4"><link rel="index" href="ix05.html" title="Index of new symbols in 2.6"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" 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" lang="en"><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" lang="en"><a name="id2815326"></a><h2>Running and debugging GLib Applications</h2><div class="refsect2" lang="en"><a name="id2815332"></a><h3>Environment variables</h3><p> GLib inspects a few of environment variables in addition to standardvariables like <code class="envar">LANG</code>, <code class="envar">PATH</code> or <code class="envar">HOME</code>. </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><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>. </p><p><b><code class="envar">G_DEBUG</code>. </b> If GLib has been configured with <code class="option">--enable-debug=yes</code>, this 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><span class="term">fatal_warnings</span></td><td><p>Causes GLib to abort the program at the first call to <a href="glib-Message-Logging.html#g-warning">g_warning</a>(). This option is special in that it doesn't require GLib to be configured with debugging support.</p></td></tr></tbody></table></div><p> </p><p><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 new better ones. Use the GLib-2.0 algorithms only if you have sequences of numbers generated with Glib-2.0 that you need to reproduce exactly. </p><p><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><b><code class="envar">G_WIN32_PRETEND_WIN9X</code>. </b> Setting this variable to any value forces g_win32_get_windows_version() to return a version code for Windows 9x. This is mainly an internal debugging aid for GTK+ and GLib developers, to be able to check the code paths for Windows 9x. </p></div><hr><div class="refsect2" lang="en"><a name="id2816124"></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 > 0, <a href="glib-Memory-Allocation.html#g-free">g_free</a>(), <a href="glib-Memory-Allocation.html#g-realloc">g_realloc</a>() and <a href="glib-Memory-Allocation.html#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></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="glib-compiling.html"><b><< Compiling GLib Applications</b></a></td><td align="right"><a accesskey="n" href="glib-changes.html"><b>Changes to GLib >></b></a></td></tr></table></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -