SpecApportDebug

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

  • Launchpad Entry: apport-debugmode

  • Packages affected: apport, apport-cli, apport-gtk, apport-qt

Summary

As an optional, not-enabled-by-default feature, add a debug button to the Apport dialog so that the bug can be triaged locally, rather then merely sent to Launchpad. It will do the following:

1) download the source package 2) install build dependencies 3) load a debugger (such as gdb) 4) optionally assist with dpkg-buildpackage 5) send the report and (if the bug was fixed) a patch to launchpad

It will work better with a method of determining wether the bug has already been fixed in launchpad, but that's another feature. It could also be useful to send the report right away (assigned to the submitter, or along with a note saying xyz is working on this) to prevent different people from triaging the same bug.

If this is done, a more integrated debugger (one that works with dpkg and GTK, Qt) would be useful so that the user can concentrate on the bug and let the computer do the simple stuff (setting/removing breakpoints, rebuild, run a test, etc.)

Rationale

When a crash occurs, there is a bug and it should be fixed. Thanks to free software, anyone can get to look at the source and see for themself what's wrong with it. Sometimes it's difficult to reproduce the bug on another PC, and the person who discovered the bug knows best what happened and what configuration both the hardware and software has. If the user is skillful enough, he/she can attempt to fix the program him/herself. At the least, someone can study the program and write a more educated report.

This does not affect "average" users, as they wouldn't edit a config file to enable this functionality.

Use Cases

Actual use cases require crash bugs. Since no such bugs should actually exist, use cases can only work with deliberately faulty software.

Scope

This would be implemented completely in Apport. It would depend on debuggers like gdb.

Design

The backends get an extra optional button in the "Application problem" dialogs. By pressing that button, the required source and dependency packages are downloaded, and a debugger is started, attached to the process.

Implementation

Outstanding Issues

BoF agenda and discussion


CategorySpec

SpecApportDebug (last edited 2008-08-06 16:39:01 by localhost)