Message Output and Debugging Functions functions to output messages and help debug applications. These functions provide support for outputting messages. Outputs a formatted message via the print handler. The default print handler simply outputs the message to stdout. g_print() should not be used from within libraries for debugging messages, since it may be redirected by applications to special purpose message windows or even files. Instead, libraries should use g_log(), or the convenience functions g_message(), g_warning() and g_error(). @format: the message format. See the printf() documentation. @Varargs: the parameters to insert into the format string. Sets the print handler. Any messages passed to g_print() will be output via the new handler. The default handler simply outputs the message to stdout. By providing your own handler you can redirect the output, to a GTK+ widget or a log file for example. @func: the new print handler. @Returns: the old print handler. Specifies the type of the print handler functions. These are called with the complete formatted string to output. @string: the message to be output. Outputs a formatted message via the error message handler. The default handler simply outputs the message to stderr. g_printerr() should not be used from within libraries. Instead g_log() should be used, or the convenience functions g_message(), g_warning() and g_error(). @format: the message format. See the printf() documentation. @Varargs: the parameters to insert into the format string. Sets the handler for printing error messages. Any messages passed to g_printerr() will be output via the new handler. The default handler simply outputs the message to stderr. By providing your own handler you can redirect the output, to a GTK+ widget or a log file for example. @func: the new error message handler. @Returns: the old error message handler. Returns from the current function if the expression is not true. If the expression evaluates to %FALSE, a critical message is logged and the function returns. This can only be used in functions which do not return a value. @expr: the expression to check. Returns from the current function, returning the value @val, if the expression is not true. If the expression evaluates to %FALSE, a critical message is logged and @val is returned. @expr: the expression to check. @val: the value to return from the current function if the expression is not true. Logs a critical message and returns from the current function. This can only be used in functions which do not return a value. Logs a critical message and returns @val. @val: the value to return from the current function. Debugging macro to terminate the application if the assertion fails. If the assertion fails (i.e. the expression is not true), an error message is logged and the application is terminated. The macro can be turned off in final releases of code by defining #G_DISABLE_ASSERT when compiling the application. @expr: the expression to check. Debugging macro to terminate the application if it is ever reached. If it is reached, an error message is logged and the application is terminated. The macro can be turned off in final releases of code by defining #G_DISABLE_ASSERT when compiling the application. 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. FIXME: How do you set it up? If [E]xit is selected, the application terminates with a call to _exit(0). If [H]alt is selected, the application enters an infinite loop. The infinite loop can only be stopped by killing the application, or by setting #glib_on_error_halt to %FALSE (possibly via a debugger). 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. @prg_name: the program name, needed by gdb for the [S]tack trace option. If @prg_name is %NULL, g_get_prgname() is called to get the program name (which will work correctly if gdk_init() or gtk_init() has been called). Invokes gdb, which attaches to the current process and shows a stack trace. Called by g_on_error_query() when the [S]tack trace option is selected. This function may cause different actions on non-UNIX platforms. @prg_name: the program name, needed by gdb for the [S]tack trace option. If @prg_name is %NULL, g_get_prgname() is called to get the program name (which will work correctly if gdk_init() or gtk_init() has been called). Inserts a breakpoint instruction into the code (on x86 machines only).