How do I create a bug report/ru
│ Afrikaans (af) │
Deutsch (de) │
English (en) │
français (fr) │
português (pt) │
русский (ru) │
Пожалуйста, прочтите эту статью о том как писать баг-репорты
Если Вы обнаружили ошибку в Лазарусе и хотите сообщить о ней разработчикам, эта статья расскажет как это сделать.
Ошибки компиляции кода
Если у вас есть ошибки при компиляции кода из последней версии SVN, пожалуйста, свяжитесь с соответствующим списком рассылки FPC или http://lists.lazarus-ide.org/listinfo списком рассылки Lazarus], или лучше присоединитесь к IRC-каналу #fpc или #lazarus-ide на irc.freenode.net. Тогда проблема должна быть решена быстрее.
Вход в систему / Создание новой учетной записи
Вы должны войти в систему, чтобы иметь возможность редактировать или отправлять сообщения об ошибках. Если вы вошли в систему как гость, вам необходимо сначала выйти из системы (гости не могут создавать отчеты, только просматривать их). Если у вас уже есть учетная запись, перейдите на страницу входа, в противном случае создайте новую учетную запись на странице регистрации.
Проверка на наличие существующей ошибки в трекере
Используйте строку поиска в View Issues. Подсказка: поиск не является интеллектуальным; например, если у вас возникли проблемы с использованием TEdit.SelStart, выполните поиск по запросу «SelStart».
Если проблема уже была опубликована:
- переоткройте ее, если отчет об ошибке был решен или закрыт - используйте кнопку Reopen Issue (переоткрыть вопрос)
- добавьте примечание, если вы снова воспроизвели эту ошибку в ситуации, отличной от указанной
- Вы можете настроить систему для отслеживания изменений в этом отчете об ошибках - используйте кнопку Monitor Issue (отслеживание проблемы)
Что следует публиковать в багтрекере?
- Баги: если вы обнаружили ошибки, глюки или другие дефекты в FPC или Lazarus
- Предложения: если вы нашли лучший способ сделать что-либо
- Улучшения: если вы можете заставить что-то работать лучше
Пожалуйста, обратите внимание: багтрекер не предназначен для "бытовых" вопросов. Они должны задаваться на форуме.
- Для создания отчета перейдите в багтрекер Lazarus. Вы должны быть залогированы в системе, см. раздел Создание новой учетной записи.
- Перейдите на страницу Report Issue (Сообщить о проблеме). Заполните столько, сколько вы можете и знаете. Чем конкретнее, тем лучше.
Баг
- Важными полями являются поля ОС и программного Продукта, а также действия по воспроизведению этой проблемы. Если разработчики не смогут воспроизвести проблему, они не смогут и начать ее исправлять! Не забудьте упомянуть вашу конкретную архитектуру/конфигурацию (32- или 64-бит, с прямым(BOM-BE) или младшим(BOM-LE) порядком байтов, если оба возможны на вашей платформе, версия вашей операционной системы).
- Если возможно, загрузите небольшое тестовое приложение, которое воспроизводит баг. Это, скорее всего, ускорит исправление.
- Если есть какая-то графическая ошибка, полезно загрузить (частично) скриншот (в формате png или jpeg, но не в формате bmp).
- Если это падение среды, попробуйте создать обратную трассировку. См. Создание Backtrace с помощью GDB для получения дополнительной информации.
- Вы можете попытаться воспроизвести ошибку на как можно большем количестве различных платформ - это поможет определить, является ли это специфической проблемой виджета.
- Если у вас есть возможное решение, вы можете добавить патч - см. Creating A Patch, который ускорит процесс.
- Вы можете ускорить исправление ошибки, назначив вознаграждение, см. Bounties.
Регрессия, вызванная определенной ревизией
Если вы можете найти ревизию в транке, которая вызвала ошибку, пожалуйста, включите также в сообщение ее номер ревизии SVN. Отчет обычно присваивается автору этой редакции. Вы можете найти нужную ревизию с помощью "bisect"-процесса, который представляет собой двоичный поиск по ревизиям. Есть инструменты, которые помогут с этим:
- Команда Git git bisect. Для этого вы должны использовать git_mirrors или ссылку git svn. 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
Ошибки отладчика
Частая ситуация, при которой программа может не запускаться, из-за отладчика, выдавая подобное сообщение:
- Для того, чтобы выяснить в чём проблема, ОБЯЗАТЕЛЬНО вместе с сообщением об ошибке, добавляйте
файл, содержащий вывод отладчика:
Вид (View) -> Окна отладки (Debugging Window) -> Вывод отладчика (Debugger Output).
Скопируйте всё содержимое окна, и сохраните в файл.
- Укажите операционную систему и версию Лазаруса.
- Если есть возможность, проверьте с другими версиями отладчика, либо более поздними версиями Лазаруса (SVN версией) - возможно, что эта ошибка уже была устранена.
Общее решение проблемы с gdb отладчиком
Просто отключить его!
Окружение (Environment) -> Параметры ... (Options) -> Отладчик (Debugger) -> Тип отладчика и путь (Debugger type and path) -> none
Но отлаживаться придётся, используя журналирование (writeln), а также использовать свои знания кода и работы алгоритма программы.
error 193
Если, при просмотре вывода отладчика, вам встретится подобная строка:
&"Error creating process C:/Documents and Settings/UserName/Projects/project1.exe, (error 193)\n"
Ошибка возникает, если полный путь проекта содержит пробел(ы). Решение - сохранить проект в другую папку (без пробелов).
Это не ограничение Лазаруса или FPC, это ограничение отладчика.
Файлы
Если вы хотите приложить текстовый файл (или несколько файлов) к описанию ошибки, то, скорее всего, вы воспользуетесь архиватором.
Пожалуйста, используйте только Zip, GZip (Tar.gzip) архиваторы.
Архивы Rar, 7z, конечно, распаковать можно, но для этого, обычно, необходима установка дополнительных программ. А это значит, что файл будет рассмотрен значительно позднее, либо вообще не будет рассмотрен.