Журнал LinuxFormat - перейти на главную

LXF129:DrBrown2

Материал из Linuxformat
Перейти к: навигация, поиск

Улучшим отчеты об ошибках=

Два продукта, способствующих прогрессу ПО.

LXF129 49 1.jpg Некоторые программы Gnome позволяют отправить сообщение об ошибке прямо из меню Справка LXF129 49 2.jpg На Launchpad можно проверить, известна ли уже ошибка, о которой вы хотите сообщить

Даже те, кто не пишет код, могут помочь развитию свободного ПО, сообщив об ошибках в наших программах. Но разработчики – люди занятые. Им нужны сообщения с точным описанием проблемы и контекст, достаточный для воспроизведения неполадки, и не нужны сообщения об уже известных ошибках. Ubuntu и Canonical предоставляют несколько утилит, способных в этом помочь. Первая – apport.bug (до Ubuntu 9.10 она называ лась ubuntu.bug); она собирает информацию о программе и отсылает отчет. Вторая – web­сервис для отслеживания ошибок и сообщения о них: http://bugs.launchpad.net. Они тесно связаны, и мы поговорим об обеих.

Если вы хотите сообщить об ошибке в запущенной в данный момент программе, проще всего сделать это, выбрав пункт Сообщить об ошибке [Report a Problem] из меню Справка [Help] программы. Тогда автоматически вызовется apport.bug.

Если такого пункта меню в программе нет, запустите apport.bug из командной строки (или из диалога Выполнить приложение [Run Application], открывающегося по Alt+F2). Указать программу, для которой нужно составить отчет, можно тремя способами:

1 Введя имя пакета, содержащего программу:

$ apport­bug ethtool

2 Сообщив путь к исполняемому файлу программы:

$ apport­bug /usr/bin/gimp

3 Предоставив идентификатор процесса (выполняющейся) программы:

$ pidof bluetooth­applet
1635
$ apport­bug 1635

В любом случае apport.bug создаст отчет, автоматически откроет bugs.launchpad.net и загрузит его туда. На данном этапе может потребоваться войпе может потребоваться войти в Launchpad (и создать там учетную запись, если у вас ее еще нет).

В качестве примера – предположим, что когда заметки в Tomboy синхронизируются с моей учетной записью в Ubuntu One, теряется форматирование. В Tomboy нет пункта меню ‘Report a Problem’, но я могу сгенерировать отчет командной строкой:

$ apport­bug tomboy

Тут в браузере откроется страница ‘Report a Bug’ для проекта Tomboy на http://bugs.launchpad.net. Введите общее описание проблемы, нечто вроде «При синхронизации заметок Tomboy с Ubuntu One теряется форматирование» (разумеется, по­английски). На следующей странице Launchpad показывает список имеющихся отчетов об ошибках, сходных с моей. Как вы видите на рисунке, первый же отчет описывает ту же самую проблему. Если кликнуть по ссылке, появится более подробное описание ошибки (включая созданный apport.bug отчет) и кнопка «Yes, this is the bug I’m trying to report» («Да, это ошибка, о которой я хочу сообщить»). Щелчок по этой кнопке откроет следующую страницу, где можно подписаться на отчет об ошибке, и если что­то будет сделано и (будем надеяться) ошибка будет исправлена, мне придет оповещение.

Более общий материал на тему эффективности сообщений об ошибках дает небольшое эссе Саймона Тэтама [Simon Tatham] на сайте http://www.chiark.greenend.org.uk/~sgtatham/bugs.html.

В базе данных ошибок Launchpad можно искать и с помощью обычного полнотекстового поиска. Таинственная ошибка, обнаруженная недавно во время занятий в учебном классе, помеша ла мне войти по SSH через ssh.agent из Ubuntu 9.04 в 8.04 с помощью моего закрытого ключа RSA. Странное сообщение об ошибке, которое я получил, было таким: ‘Agent admitted failure to sign using the key’ («Агент не смог войти с помощью этого ключа»). Я набрал ‘ssh­agent admitted failure’ в строке поиска Launchpad и увидел несколько отчетов с той же самой проблемой и два варианта ее решения.

Мой класс был потрясен. Наверное, даже больше, чем если бы все заработало с первого раза.

И еще о Launchpad

Launchpad пред лагает разработчикам проектов с открытым исходным кодом не только механизм отслеживания ошибок, но и

  • Хостинг кода и систему контроля версий.
  • Размещение пакетов в архивах 'Personal Package Archives (PPA), которые легко бу­дет добавить в пользовательский список репозиториев.
  • Поддержку перевода. Это титанические усилия 43 000 переводчиков на почти 300 языков.
  • Схемы, позволяющие публиковать соображения по выполнению работ, назначать на них исполнителей и следить за их прогрессом.
  • Launchpad Answers, ответы, поддерживающие создание базы знаний сообщества проекта.
Персональные инструменты
купить
подписаться
Яндекс.Метрика