Difference between revisions of "How do I create a bug report/ru"
(56 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{How do I create a bug report}} | {{How do I create a bug report}} | ||
− | + | Этот документ содержит некоторые рекомендации по использованию [https://gitlab.com/freepascal.org/ багтрекера] FPC/Lazarus в качестве репортера. Этот документ написан для пользователей FPC / Lazarus, которые выявляют ошибки, имеют рекомендации, хотят отправить исправления или найти другие проблемы и хотят сообщить о них команде разработчиков Lazarus. | |
− | == | + | == Ошибки компиляции кода == |
− | Если у | + | Если у вас есть ошибки при компиляции кода из последней версии SVN, пожалуйста, свяжитесь с соответствующим [http://freepascal.org/maillist.var списком рассылки FPC] или [http://lists.lazarus-ide.org/listinfo списком рассылки Lazarus], или лучше присоединитесь к IRC-каналу <b>#fpc</b> или <b>#lazarus-ide</b> на irc.freenode.net. Тогда проблема должна решаться более оперативно. |
− | == | + | == Вход в систему / Создание новой учетной записи == |
− | + | Вы должны войти в систему, чтобы иметь возможность редактировать или отправлять сообщения об ошибках. Если вы вошли в систему как гость, вам необходимо сначала выйти из системы (гости не могут создавать отчеты, только просматривать их). Если у вас уже есть учетная запись, перейдите на [https://gitlab.com/users/sign_in страницу входа], в противном случае создайте новую учетную запись на [https://gitlab.com/users/sign_up странице регистрации]. | |
− | |||
− | + | == Проверка на наличие существующей ошибки в трекере== | |
+ | Используйте строку поиска в [https://gitlab.com/groups/freepascal.org/-/issues Обзоре проблем]. Подсказка: поиск не является интеллектуальным; например, если у вас возникли проблемы с использованием TEdit.SelStart, выполните поиск по запросу «SelStart». | ||
− | + | Если проблема уже была опубликована: | |
− | * | + | * переоткройте ее, если отчет об ошибке был решен или закрыт - используйте кнопку Reopen Issue (переоткрыть вопрос) |
− | ( | + | * добавьте примечание, если вы снова воспроизвели эту ошибку в ситуации, отличной от указанной |
+ | * Вы можете настроить систему для отслеживания изменений в этом отчете об ошибках - используйте кнопку Monitor Issue (отслеживание проблемы) | ||
− | + | {{Note| Вам необходимо войти в систему для выполнения этих операций, см. раздел [[How_do_I_create_a_bug_report/ru#.D0.92.D1.85.D0.BE.D0.B4_.D0.B2_.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D1.83_.2F_.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B9_.D1.83.D1.87.D0.B5.D1.82.D0.BD.D0.BE.D0.B9_.D0.B7.D0.B0.D0.BF.D0.B8.D1.81.D0.B8|Вход в систему / Создание новой учетной записи]]}} | |
− | |||
− | |||
− | |||
− | + | == Что следует публиковать в багтрекере? == | |
+ | * Баги: если вы обнаружили ошибки, глюки или другие дефекты в [[FPC]] или [[Lazarus]] | ||
+ | * Предложения: если вы нашли лучший способ сделать что-либо | ||
+ | * Улучшения: если вы можете заставить что-то работать лучше | ||
− | + | Пожалуйста, обратите внимание: багтрекер '''не''' предназначен для "бытовых" вопросов. Они должны задаваться на [http://forum.lazarus.freepascal.org/ форуме]. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | * Для создания отчета перейдите в [https://gitlab.com/groups/freepascal.org/lazarus/-/issues багтрекер Lazarus]. Вы должны быть залогированы в системе, см. раздел [[How_do_I_create_a_bug_report/ru#.D0.92.D1.85.D0.BE.D0.B4_.D0.B2_.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D1.83_.2F_.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B9_.D1.83.D1.87.D0.B5.D1.82.D0.BD.D0.BE.D0.B9_.D0.B7.D0.B0.D0.BF.D0.B8.D1.81.D0.B8| Создание новой учетной записи]]. | |
− | + | * Перейдите на страницу [https://gitlab.com/groups/freepascal.org/-/issues Report Issue] (Сообщить о проблеме). Заполните столько, сколько вы можете и знаете. Чем конкретнее, тем лучше. | |
− | Вы | + | |
− | Если у вас | + | === Баг === |
+ | * Важными полями являются поля ОС и программного Продукта, а также действия по воспроизведению этой проблемы. Если разработчики не смогут воспроизвести проблему, они не смогут и начать ее исправлять! Не забудьте упомянуть вашу конкретную архитектуру/конфигурацию (32- или 64-бит, с прямым(BOM-BE) или младшим(BOM-LE) порядком байтов, если оба возможны на вашей платформе, версия вашей операционной системы). | ||
+ | * Если возможно, <b>загрузите небольшое тестовое приложение, которое воспроизводит баг</b>. Это, скорее всего, ускорит исправление. | ||
+ | * Если есть какая-то графическая ошибка, полезно загрузить (частично) скриншот (в формате png или jpeg, но не в формате bmp). | ||
+ | * Если это падение среды, попробуйте создать обратную трассировку. См. [[Creating_a_Backtrace_with_GDB/ru|создание файла обратной трассировки с помощью GDB]] для получения дополнительной информации. | ||
+ | * Вы можете попытаться воспроизвести ошибку на как можно большем количестве различных платформ - это поможет определить, является ли это специфической проблемой виджета. | ||
+ | * Если у вас есть возможное решение, вы можете добавить патч - см. [[Creating_A_Patch/ru]], который ускорит процесс. | ||
+ | * Вы можете ускорить исправление ошибки, назначив вознаграждение, см. [[Bounties|Поощрения]]. | ||
+ | |||
+ | === Регрессия, вызванная определенной ревизией === | ||
+ | Если вы можете найти ревизию в транке, которая вызвала ошибку, пожалуйста, включите также в сообщение ее номер ревизии SVN. Отчет обычно присваивается автору этой редакции. | ||
+ | Вы можете найти нужную ревизию с помощью "bisect"-процесса, который представляет собой двоичный поиск по ревизиям. Есть инструменты, которые помогут с этим: | ||
+ | * Команда Git [https://git-scm.com/docs/git-bisect git bisect]. Git быстр в этой операции, потому что вся история ревизий является локальной, и ничего не нужно извлекать с сервера. | ||
+ | * Perl-скрипт [http://search.cpan.org/dist/App-SVN-Bisect/bin/svn-bisect svn-bisect], доступный в CPAN. Он имитирует команду "git bisect", но работает непосредственно с данными SVN. | ||
+ | |||
+ | === Предложение === | ||
+ | Объясните свою идею. Может быть полезен макет графического интерфейса или пример другого инструмента, использующего эту функцию. | ||
+ | |||
+ | === Улучшение === | ||
+ | * Если вы реализовали новую функцию в исходном коде или улучшили документацию в файлах XML, создайте патч - см. [[Creating_A_Patch/ru|Создание исправления]]. | ||
+ | * Если вы улучшили перевод в языковом .po-файле, приложите весь .po-файл (а не diff). | ||
+ | * Если у вас есть другой файл ресурса, например значок, прикрепите его к сообщению. | ||
+ | |||
+ | === Перевод сообщений на английский язык === | ||
+ | |||
+ | Ошибки следует описывать на английском языке. Если английским Вы владеете недостаточно хорошо, то Вы можете использовать online переводчики (например: http://translate.google.com/). | ||
+ | |||
+ | При описании ошибки, следует указать, что Вы пользовались переводчиком: "Sorry for my English, I'm using translator" | ||
+ | |||
+ | Вы так же можете попросить помощи в переводе (и не только) на этом форуме: http://freepascal.ru | ||
+ | |||
+ | ==Вложения== | ||
+ | Если вы добавляете вложения исходного кода или примера проекта для отчета об ошибке ('''настоятельно рекомендуется''', см. [[Tips on writing bug reports|Советы по написанию отчетов об ошибках]]), пожалуйста, заархивируйте их, используя предпочтительно эти форматы: | ||
+ | * zip (.zip) | ||
+ | * gzip (.gz) | ||
+ | * tar.gzip (.tgz/.tar.gz) | ||
+ | |||
+ | Другие форматы, такие как 7zip, Bzip и RAR, тоже подходят. В настоящее время инструменты для них легко доступны. | ||
+ | |||
+ | ==Понимание Report Status(статуса сообщения)== | ||
+ | |||
+ | Проблема может иметь следующие состояния: | ||
+ | * Open, but no assignee(s) (открыта, но без правопреемника(ов)): никому не поручена. | ||
+ | * Open and 1 or more assignees (открыта и 1 или более уполномоченных): проблема была поручена одному или нескольким разработчикам Lazarus, которые попытаются исправить/реализовать ее. | ||
+ | * Проблема имеет метку "Status: Confirmed" (Статус: Подтверждено): член команды Lazarus продублировал ошибку или согласен с тем, что функция должна быть реализована | ||
+ | * Проблема имеет пометку "Status: Feedback"(Статус: обратная связь): репортер должен оставить отзыв, чтобы ответить на любые вопросы, заданные командой Lazarus, или подтвердить, что проблема устранена удовлетворительно. | ||
+ | * Closed(Закрыта): правопреемник закрыл (и предположительно исправил или отклонил) проблему. | ||
+ | |||
+ | ==См.также== | ||
+ | * [[Tips_on_writing_bug_reports|Советы по написанию отчетов об ошибках]] | ||
+ | * [[Creating A Patch]] Если вы изменили исходный код для реализации решения, эта статья поможет вам наиболее эффективно добавить его в отчет об ошибках, чтобы разработчики могли как можно быстрее добавить его в основной код. | ||
+ | * [[Database bug reporting]] Специальная информация и примеры программ для ошибок базы данных | ||
+ | * [[Moderating the bug tracker]] | ||
+ | * Следующая страница содержит полезные советы о том, [http://www.chiark.greenend.org.uk/~sgtatham/bugs.html как эффективно сообщать об ошибках]. |
Latest revision as of 00:51, 16 June 2022
│ Afrikaans (af) │
Deutsch (de) │
English (en) │
français (fr) │
português (pt) │
русский (ru) │
Этот документ содержит некоторые рекомендации по использованию багтрекера FPC/Lazarus в качестве репортера. Этот документ написан для пользователей FPC / Lazarus, которые выявляют ошибки, имеют рекомендации, хотят отправить исправления или найти другие проблемы и хотят сообщить о них команде разработчиков Lazarus.
Ошибки компиляции кода
Если у вас есть ошибки при компиляции кода из последней версии SVN, пожалуйста, свяжитесь с соответствующим списком рассылки FPC или списком рассылки Lazarus, или лучше присоединитесь к IRC-каналу #fpc или #lazarus-ide на irc.freenode.net. Тогда проблема должна решаться более оперативно.
Вход в систему / Создание новой учетной записи
Вы должны войти в систему, чтобы иметь возможность редактировать или отправлять сообщения об ошибках. Если вы вошли в систему как гость, вам необходимо сначала выйти из системы (гости не могут создавать отчеты, только просматривать их). Если у вас уже есть учетная запись, перейдите на страницу входа, в противном случае создайте новую учетную запись на странице регистрации.
Проверка на наличие существующей ошибки в трекере
Используйте строку поиска в Обзоре проблем. Подсказка: поиск не является интеллектуальным; например, если у вас возникли проблемы с использованием TEdit.SelStart, выполните поиск по запросу «SelStart».
Если проблема уже была опубликована:
- переоткройте ее, если отчет об ошибке был решен или закрыт - используйте кнопку Reopen Issue (переоткрыть вопрос)
- добавьте примечание, если вы снова воспроизвели эту ошибку в ситуации, отличной от указанной
- Вы можете настроить систему для отслеживания изменений в этом отчете об ошибках - используйте кнопку Monitor Issue (отслеживание проблемы)
Что следует публиковать в багтрекере?
- Баги: если вы обнаружили ошибки, глюки или другие дефекты в FPC или Lazarus
- Предложения: если вы нашли лучший способ сделать что-либо
- Улучшения: если вы можете заставить что-то работать лучше
Пожалуйста, обратите внимание: багтрекер не предназначен для "бытовых" вопросов. Они должны задаваться на форуме.
- Для создания отчета перейдите в багтрекер Lazarus. Вы должны быть залогированы в системе, см. раздел Создание новой учетной записи.
- Перейдите на страницу Report Issue (Сообщить о проблеме). Заполните столько, сколько вы можете и знаете. Чем конкретнее, тем лучше.
Баг
- Важными полями являются поля ОС и программного Продукта, а также действия по воспроизведению этой проблемы. Если разработчики не смогут воспроизвести проблему, они не смогут и начать ее исправлять! Не забудьте упомянуть вашу конкретную архитектуру/конфигурацию (32- или 64-бит, с прямым(BOM-BE) или младшим(BOM-LE) порядком байтов, если оба возможны на вашей платформе, версия вашей операционной системы).
- Если возможно, загрузите небольшое тестовое приложение, которое воспроизводит баг. Это, скорее всего, ускорит исправление.
- Если есть какая-то графическая ошибка, полезно загрузить (частично) скриншот (в формате png или jpeg, но не в формате bmp).
- Если это падение среды, попробуйте создать обратную трассировку. См. создание файла обратной трассировки с помощью GDB для получения дополнительной информации.
- Вы можете попытаться воспроизвести ошибку на как можно большем количестве различных платформ - это поможет определить, является ли это специфической проблемой виджета.
- Если у вас есть возможное решение, вы можете добавить патч - см. Creating_A_Patch/ru, который ускорит процесс.
- Вы можете ускорить исправление ошибки, назначив вознаграждение, см. Поощрения.
Регрессия, вызванная определенной ревизией
Если вы можете найти ревизию в транке, которая вызвала ошибку, пожалуйста, включите также в сообщение ее номер ревизии SVN. Отчет обычно присваивается автору этой редакции. Вы можете найти нужную ревизию с помощью "bisect"-процесса, который представляет собой двоичный поиск по ревизиям. Есть инструменты, которые помогут с этим:
- Команда Git git bisect. Git быстр в этой операции, потому что вся история ревизий является локальной, и ничего не нужно извлекать с сервера.
- Perl-скрипт svn-bisect, доступный в CPAN. Он имитирует команду "git bisect", но работает непосредственно с данными SVN.
Предложение
Объясните свою идею. Может быть полезен макет графического интерфейса или пример другого инструмента, использующего эту функцию.
Улучшение
- Если вы реализовали новую функцию в исходном коде или улучшили документацию в файлах XML, создайте патч - см. Создание исправления.
- Если вы улучшили перевод в языковом .po-файле, приложите весь .po-файл (а не diff).
- Если у вас есть другой файл ресурса, например значок, прикрепите его к сообщению.
Перевод сообщений на английский язык
Ошибки следует описывать на английском языке. Если английским Вы владеете недостаточно хорошо, то Вы можете использовать online переводчики (например: http://translate.google.com/).
При описании ошибки, следует указать, что Вы пользовались переводчиком: "Sorry for my English, I'm using translator"
Вы так же можете попросить помощи в переводе (и не только) на этом форуме: http://freepascal.ru
Вложения
Если вы добавляете вложения исходного кода или примера проекта для отчета об ошибке (настоятельно рекомендуется, см. Советы по написанию отчетов об ошибках), пожалуйста, заархивируйте их, используя предпочтительно эти форматы:
- zip (.zip)
- gzip (.gz)
- tar.gzip (.tgz/.tar.gz)
Другие форматы, такие как 7zip, Bzip и RAR, тоже подходят. В настоящее время инструменты для них легко доступны.
Понимание Report Status(статуса сообщения)
Проблема может иметь следующие состояния:
- Open, but no assignee(s) (открыта, но без правопреемника(ов)): никому не поручена.
- Open and 1 or more assignees (открыта и 1 или более уполномоченных): проблема была поручена одному или нескольким разработчикам Lazarus, которые попытаются исправить/реализовать ее.
- Проблема имеет метку "Status: Confirmed" (Статус: Подтверждено): член команды Lazarus продублировал ошибку или согласен с тем, что функция должна быть реализована
- Проблема имеет пометку "Status: Feedback"(Статус: обратная связь): репортер должен оставить отзыв, чтобы ответить на любые вопросы, заданные командой Lazarus, или подтвердить, что проблема устранена удовлетворительно.
- Closed(Закрыта): правопреемник закрыл (и предположительно исправил или отклонил) проблему.
См.также
- Советы по написанию отчетов об ошибках
- Creating A Patch Если вы изменили исходный код для реализации решения, эта статья поможет вам наиболее эффективно добавить его в отчет об ошибках, чтобы разработчики могли как можно быстрее добавить его в основной код.
- Database bug reporting Специальная информация и примеры программ для ошибок базы данных
- Moderating the bug tracker
- Следующая страница содержит полезные советы о том, как эффективно сообщать об ошибках.