Глава 9. Разное

Содержание
9.1. Сообщение о багах
9.2. Использование библиотеки libdpsearch
9.3. Структура таблиц базы данных

9.1. Сообщение о багах

При составлении сообщения о баге, пожалуйста, указывайте версию DataparkSearch и сообщайте как моно больше информации о вашей проблеме. Такая информация, как используемая платформа, операционная система, версия базы данных, статистика базы данных (например, число URL в базе, или число записей в той или иной таблице базы данных) может быть весьма полезной для исправления возможной ошибки.

Пожалуйста, сообщайте об ошибках и багах при помощи нашей Системы учёта ошибок доступной на веб-сервере DataparkSearch. Пожалуйста, не шлите сообщения об ошибках в списки рассылки или на почтовые адреса разработчиков!

9.1.1. Известные ошибки и баги

Используйте Систему учёта ошибок DataparkSearch для простомтра текущих и исправленых ошибок. Вы можете использовать эту систему для сообщения о замеченых вами ошибках или предложения новых функций или улучшений.

9.1.2. Посмертные дампы

Если indexer или search.cgi умирают во время своей работы и оставляют посмертный дамп, очень полезно сообщить нам вывод gdb (The GNU Debugger). Чтобы получить этот вывод, пожалуйста, выполните следующие шаги. Убедитесь, что DataparkSearch собран с опцией --with-debug для configure. Если нет, пересоберите его с этой опцией и попытайтесь повторить ситуацию, приведшую к трапу. Затем, пусть, например, умершей программой будет indexer, а файл посметрного дампа имеет имя indexer.core (или просто core на некоторых платформах).

Запустите GNU Debugger вместе с именем программы в качестве первого аргумента и с именем файла посмертного дампа в качестве второго:

gdb indexer indexer.core

Отобразится некоторая информация о месте трапа:

Core was generated by `indexer'.
Program terminated with signal 8, Floating point exception.
Reading symbols from /usr/lib/libc.so.3...done.
Reading symbols from /usr/libexec/ld-elf.so.1...done.
#0  0x80483f3 in main () at indexer.c:4
4               printf("%d",0/0);

Затем наберите команду thread apply all backtrace:

(gdb) thread apply all bt
#0  0x80483f3 in main () at indexer.c:4
#1  0x804837d in _start ()

Сообщите нам вывод в первом и втором случаях или просто скриншот сессии gdb.