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?
February 7th, 2008 at 5:25 pm
Try pinging it off of Olav?
February 7th, 2008 at 5:32 pm
very nice!
February 7th, 2008 at 5:33 pm
very handy!
February 7th, 2008 at 6:46 pm
I’ve just started using GDB, and I’ve run into issues with this. This’ll make scanning through everything so much easier. Thanks!
February 8th, 2008 at 10:49 am
This is a must for Bugzilla!
February 8th, 2008 at 8:50 pm
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!