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

LXF129:DrBrown2

Материал из Linuxformat
Версия от 17:02, 3 апреля 2011; Crazy Rebel (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

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


Даже те, кто не пишет код, могут помочь развитию свободного ПО, сообщив об ошибках в наших программах. Но разработчики – люди занятые. Им нужны сообщения с точным описанием проблемы и контекст, достаточный для воспроизведения неполадки, и не нужны сообщения об уже известных ошибках. 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, ответы, поддерживающие создание базы знаний сообщества проекта.
Персональные инструменты
купить
подписаться
Яндекс.Метрика