Making backtraces readable

Reading gdb backtraces from Gtk+ applications can be a pain, as the signal emissions tend make them very long and hard to read. Today i wrote a small application that compresses signal emissions and some other common gnome stuff in gdb backtraces.

For example, take this 147 frames long backtrace i’m currently working on. Its pretty much a pain to read.

With my app it turns into this instead, which is much nicer. Here are some examples:

#7 ... segfault caught by bug-buddy
#8 <signal handler called> ()
#9 __kernel_vsyscall ()

#36 gtk_scrolled_window_destroy (object=0x82bc538) at gtkscrolledwindow.c:799
     ...
#43 gtk_object_dispose (gobject=0x82bc538) at gtkobject.c:418
#44 gtk_widget_dispose (object=0x82bc538) at gtkwidget.c:7851
#45 fm_tree_view_dispose (object=0x82bc538) at fm-tree-view.c:1457

#115 gtk_object_destroy (object=0x82d0200) at gtkobject.c:403
#120 ... emitting signal 219 on instance 0x5954
#121 _gtk_action_emit_activate (action=0x82c8e60) at gtkaction.c:872

#130 gtk_window_key_press_event (widget=0x82d0200, event=0x83716e8) at gtkwindow.c:4961
#140 ... dispatching GdkEvent 0x83716e8 to widget 0x82d0200
#141 g_main_context_dispatch (context=0x819fca0) at gmain.c:2064

Any chance something like this could be integrated with bugzilla?

6 Responses to “Making backtraces readable”

  1. Jeff Schroeder Says:

    Try pinging it off of Olav?

  2. triton Says:

    very nice! :)

  3. triton Says:

    very handy! :)

  4. Joe Smith Says:

    I’ve just started using GDB, and I’ve run into issues with this. This’ll make scanning through everything so much easier. Thanks! :)

  5. Peteris Krisjanis Says:

    This is a must for Bugzilla! :)

  6. Grahame Bowland Says:

    I’ve got some code which parses backtraces, and then figures out which lines appear a lot in a group of backtraces. Really helpful when trying to figure out low-hanging-fruit to make an app more stable.

    I wrote it on work time so I’d have to ask to share it, but the idea might be of use to you!


Bad Behavior has blocked 12 access attempts in the last 7 days.