TravisBHartwell

Differences between revisions 6 and 7
Revision 6 as of 2010-04-13 21:06:02
Size: 1377
Editor: Pemberly-mikrotik
Comment:
Revision 7 as of 2010-04-14 23:31:09
Size: 2486
Editor: Pemberly-mikrotik
Comment:
Deletions are marked like this. Additions are marked like this.
Line 25: Line 25:

== Lessons and tips learned in debugging and triaging bug reports ==

 * When there is a gap in the last known working version and the one
 showing the problem, either:
   * start at the version prior to the reported non-working version, attempting to reproduce the error
   * start at the version right after the last known working version, attempting to reproduce the error
   * when you have found the version that is the boundary between working and non-working, look at the diff between the versions and start debugging there

 * When debugging C code, especially event-based Gtk code, it is often easier to use printf-style debugging to trace the execution of code, rather than gdb, to find out when certain functions are called

 * When using gdb, and you only want to see the value of a variable at a certain point, set a breakpoint at the desired line, and then immediately after, do something like this:

 {{{
 commands
 print var
 cont
 end
 }}}

 * KVM and the like are very useful for testing various circumstances like problems after upgrading from one release to another.

Summary

  • Linux user since 1998, Debian user since 1999 (mostly Debian Unstable), and started using Ubuntu in spring of 2006.
  • Started working for Canonical in February 2010 as a contractor working on Application Indicators.

  • Started as a Canonical employee on the Ubuntu Desktop Team as a Desktop Software Engineer in April 2010.

Interests

  • Haskell
  • Python
  • Emacs
  • Ubuntu
  • Programming Languages
  • Usability

Ideas and Wants for Ubuntu

  • Latest Evolution (I hear it is faster and doesn't use as much memory)
  • Ability to select a track to play from Gnome Do (not just artist or album)
  • Working and non-buggy gmail/google accounts integration with the messaging indicator
  • Easier and/or additional tooling around libvirt for testing and debugging of packages
  • Scripts to manage the source of build dependencies of a package for easy debugging
    • Including setting up gdb with proper paths
    • Including setting up cscope with proper paths
  • Proper syncing of gmail/google accounts contacts with Ubuntu One

Lessons and tips learned in debugging and triaging bug reports

  • When there is a gap in the last known working version and the one showing the problem, either:
    • start at the version prior to the reported non-working version, attempting to reproduce the error
    • start at the version right after the last known working version, attempting to reproduce the error
    • when you have found the version that is the boundary between working and non-working, look at the diff between the versions and start debugging there
  • When debugging C code, especially event-based Gtk code, it is often easier to use printf-style debugging to trace the execution of code, rather than gdb, to find out when certain functions are called
  • When using gdb, and you only want to see the value of a variable at a certain point, set a breakpoint at the desired line, and then immediately after, do something like this:
     commands
     print var
     cont
     end
  • KVM and the like are very useful for testing various circumstances like problems after upgrading from one release to another.


CategoryHomepage

TravisBHartwell (last edited 2010-04-14 23:31:09 by Pemberly-mikrotik)