Synopsis#include <glib.h> void g_print (const gchar *format, ...); GPrintFunc g_set_print_handler (GPrintFunc func); void (*GPrintFunc) (const gchar *string); void g_printerr (const gchar *format, ...); GPrintFunc g_set_printerr_handler (GPrintFunc func); #define g_return_if_fail (expr) #define g_return_val_if_fail (expr,val) #define g_return_if_reached () #define g_return_val_if_reached (val) #define g_warn_if_fail (expr) #define g_warn_if_reached () void g_on_error_query (const gchar *prg_name); void g_on_error_stack_trace (const gchar *prg_name); #define G_BREAKPOINT () DescriptionThese functions provide support for outputting messages.
The Detailsg_print ()void g_print (const gchar *format, ...); Outputs a formatted message via the print handler. The default print handler simply outputs the message to stdout.
g_set_print_handler ()GPrintFunc g_set_print_handler (GPrintFunc func);
Sets the print handler.
Any messages passed to
GPrintFunc ()void (*GPrintFunc) (const gchar *string); Specifies the type of the print handler functions. These are called with the complete formatted string to output.
g_printerr ()void g_printerr (const gchar *format, ...); Outputs a formatted message via the error message handler. The default handler simply outputs the message to stderr.
g_set_printerr_handler ()GPrintFunc g_set_printerr_handler (GPrintFunc func);
Sets the handler for printing error messages.
Any messages passed to
g_return_if_fail()#define g_return_if_fail(expr)
Returns from the current function if the expression is not true.
If the expression evaluates to
g_return_val_if_fail()#define g_return_val_if_fail(expr,val)
Returns from the current function, returning the value
g_return_if_reached()#define g_return_if_reached() Logs a critical message and returns from the current function. This can only be used in functions which do not return a value. g_return_val_if_reached()#define g_return_val_if_reached(val)
Logs a critical message and returns
g_warn_if_fail()#define g_warn_if_fail(expr) Logs a warning if the expression is not true.
Since 2.16 g_on_error_query ()void g_on_error_query (const gchar *prg_name);
Prompts the user with
#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
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
If [S]tack trace is selected, If [P]roceed is selected, the function returns. This function may cause different actions on non-UNIX platforms.
g_on_error_stack_trace ()void g_on_error_stack_trace (const gchar *prg_name);
Invokes gdb, which attaches to the current process and shows a stack trace.
Called by This function may cause different actions on non-UNIX platforms.
| ||||||||||||||||||||||||||||||||||||||||||||