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?
Try pinging it off of Olav?
very nice! 🙂
very handy! 🙂
I’ve just started using GDB, and I’ve run into issues with this. This’ll make scanning through everything so much easier. Thanks! 🙂
This is a must for Bugzilla! 🙂
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!