Function
GLibon_error_query
Declaration [src]
void
g_on_error_query (
  const gchar* prg_name
)
Description [src]
Prompts the user with
[E]xit, [H]alt, show [S]tack trace or [P]roceed.
This function is intended to be used for debugging use only.
The following example shows how it can be used together with the g_log() functions.
#include <glib.h>
static void
log_handler (const gchar   *log_domain,
             GLogLevelFlags log_level,
             const gchar   *message,
             gpointer       user_data)
{
  g_log_default_handler (log_domain, log_level, message, user_data);
  g_on_error_query (MY_PROGRAM_NAME);
}
int
main (int argc, char *argv[])
{
  g_log_set_handler (MY_LOG_DOMAIN,
                     G_LOG_LEVEL_WARNING |
                     G_LOG_LEVEL_ERROR |
                     G_LOG_LEVEL_CRITICAL,
                     log_handler,
                     NULL);
  ...
If “[E]xit” is selected, the application terminates with a call to _exit(0).
If “[S]tack” trace is selected, g_on_error_stack_trace() is called.
This invokes gdb, which attaches to the current process and shows
a stack trace. The prompt is then shown again.
If “[P]roceed” is selected, the function returns.
This function may cause different actions on non-UNIX platforms.
On Windows consider using the G_DEBUGGER environment
variable (see Running GLib Applications) and calling g_on_error_stack_trace() instead.
Parameters
- prg_name
- 
            Type: const gchar*The program name, needed by gdb for the “[S]tack trace” option. If prg_nameisNULL,g_get_prgname()is called to get the program name (which will work correctly ifgdk_init()orgtk_init()has been called).The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string.