[glib] Use SIGTRAP (via G_BREAKPOINT()) if G_DEBUG=fatal-warnings
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] Use SIGTRAP (via G_BREAKPOINT()) if G_DEBUG=fatal-warnings
- Date: Thu, 28 Apr 2011 18:55:41 +0000 (UTC)
commit a04efe6afb63d54e12ff8f329cbaf458a2e31b26
Author: Colin Walters <walters verbum org>
Date: Tue Apr 26 13:04:25 2011 -0400
Use SIGTRAP (via G_BREAKPOINT()) if G_DEBUG=fatal-warnings
On Linux with gdb, it's much more convenient to debug programs using
G_DEBUG=fatal-warnings if we send SIGTRAP instead of abort() by
default. The default handler for both is to terminate the process.
In particular this makes it more easily possible to debug a warning
that's not the first in a program; you can skip past it and
go to the warning you care about.
The "aborting..." message is removed since it's no longer accurate,
and anyways was never very useful; crashes should show up in ABRT/apport
type crash catching systems.
https://bugzilla.gnome.org/show_bug.cgi?id=648423
glib/gmessages.c | 15 +--------------
1 files changed, 1 insertions(+), 14 deletions(-)
---
diff --git a/glib/gmessages.c b/glib/gmessages.c
index 60330d4..337d19a 100644
--- a/glib/gmessages.c
+++ b/glib/gmessages.c
@@ -548,14 +548,10 @@ g_logv (const gchar *log_domain,
else
abort ();
#else
-#if defined (G_ENABLE_DEBUG) && defined (SIGTRAP)
if (!(test_level & G_LOG_FLAG_RECURSION))
G_BREAKPOINT ();
else
abort ();
-#else /* !G_ENABLE_DEBUG || !SIGTRAP */
- abort ();
-#endif /* !G_ENABLE_DEBUG || !SIGTRAP */
#endif /* !G_OS_WIN32 */
}
@@ -818,7 +814,6 @@ _g_log_fallback_handler (const gchar *log_domain,
#ifndef G_OS_WIN32
gchar pid_string[FORMAT_UNSIGNED_BUFSIZE];
#endif
- gboolean is_fatal = (log_level & G_LOG_FLAG_FATAL) != 0;
int fd;
/* we cannot call _any_ GLib functions in this fallback handler,
@@ -855,10 +850,6 @@ _g_log_fallback_handler (const gchar *log_domain,
write_string (fd, level_prefix);
write_string (fd, ": ");
write_string (fd, message);
- if (is_fatal)
- write_string (fd, "\naborting...\n");
- else
- write_string (fd, "\n");
}
static void
@@ -927,7 +918,6 @@ g_log_default_handler (const gchar *log_domain,
const gchar *message,
gpointer unused_data)
{
- gboolean is_fatal = (log_level & G_LOG_FLAG_FATAL) != 0;
gchar level_prefix[STRING_BUFFER_SIZE], *string;
GString *gstring;
int fd;
@@ -988,10 +978,7 @@ g_log_default_handler (const gchar *log_domain,
g_string_free (msg, TRUE);
}
- if (is_fatal)
- g_string_append (gstring, "\naborting...\n");
- else
- g_string_append (gstring, "\n");
+ g_string_append (gstring, "\n");
string = g_string_free (gstring, FALSE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]