1.8.1.2 Как задавать вопросы и направлять сообщения об ошибках Оглавление 1.8.1.4 Рекомендации по ответам на вопросы, направляемые в список рассылки

1.8.1.3 Как отправлять отчеты об ошибках или проблемах

Чтобы написать хороший отчет об ошибке, потребуется немало терпения. Однако лучше сделать все правильно с первой попытки - это сбережет и ваше, и наше время. Грамотно составленный отчет об ошибке, содержащий ее подробное описание, позволит нам исправить эту ошибку уже в следующей версии программы. Включенные в данный раздел рекомендации помогут вам правильно написать свой отчет, не тратя времени на описание того, что мало чем сможет нам помочь или не потребуется вовсе.

Мы рекомендуем для создания отчетов об ошибках (или отчетов о любых проблемах), всегда, если это возможно, использовать сценарий mysqlbug. mysqlbug можно найти в каталоге `scripts' раздела распространения исходных текстов, или в разделе распространения исполняемых программ, в каталоге `bin' инсталляционного каталога MySQL. Если же не удается воспользоваться mysqlbug, то все равно необходимо указать в своем отчете все данные, перечисленные ниже в этом разделе.

Сценарий mysqlbug помогает сгенерировать отчет путем автоматического определения большей части приведенной ниже информации, но если окажется, что в сгенерированном отчете отсутствует что-либо важное, обязательно включите это в свое сообщение! Внимательно прочитайте данный раздел и убедитесь, что в отчет вошли все описанные здесь сведения.

Обычно отчеты об ошибках и проблемах направляются в mysql@lists.mysql.com. Если же вы можете создать подробное описание, четко определяющее ошибку, его можно направить в список рассылки bugs@lists.mysql.com. Обратите внимание: в этот список рассылки можно посылать только полный отчет о повторяющейся ошибке, составленный при помощи сценария mysqlbug. Если вы работаете в Windows, необходимо включить описание операционной системы и версии MySQL. Прежде чем направлять отчет, желательно проверить, проявляется ли данная проблема при использовании последней окончательной или находящейся в стадии разработки версии MySQL! Чтобы любой желающий мог воспроизвести эту ошибку, желательно также включить в отчет контрольный тестовый пример, который можно было бы запустить при помощи ``mysql test < script'', либо Perl-сценарий или сценарий оболочки, которые можно запустить непосредственно. Все ошибки, сообщения о которых будут направлены в список рассылки, будут либо исправлены, либо включены в список ошибок в следующей версии MySQL! Если необходимо только небольшое изменение кода, мы также отправим исправляющий эту ошибку патч для программы.

Если вы нашли ошибку в системе безопасности MySQL, необходимо отправить сообщение по адресу security@mysql.com.

Не забывайте о том, что можно ответить на сообщение, в котором содержится слишком много информации, но нельзя ответить на сообщение, в котором информации недостаточно. Часто те, кто нам пишет, опускают некоторые факты: они считают, что им известна причина возникшей проблемы и поэтому, по их мнению, некоторые детали не имеют значения. Необходимо придерживаться следующего принципа: если возникают сомнения в отношении того, следует или нет приводить в отчете те или иные сведения, - включите их в отчет обязательно! Намного быстрее и проще написать несколько дополнительных строк в отчете, чем получать уточняющие вопросы и снова ждать ответа только потому, что в первый раз были указаны не все данные.

Чаще всего наши корреспонденты не указывают используемую версию MySQL или платформу, на которой установлен сервер MySQL (включая версию платформы). Это довольно существенная информация, и в 99 случаях из 100 отчет об ошибке без нее будет совершенно бесполезным! Очень часто бывает и так: мы получаем вопрос типа: ''Почему это у меня не работает?'', а потом оказывается, что указанная функция в данной версии MySQL отсутствует или что ошибка, описанная в отчете, уже была исправлена в более новой версии MySQL. Иногда ошибка зависит от используемой платформы. В таких случаях практически невозможно ничего исправить, не имея информации об операционной системе и о версии платформы.

Не забывайте указывать информацию о своем компиляторе - в тех случаях, когда это имеет отношение к возникшей проблеме. Ведь бывает и так: пользователь полагает, что проблема связана с MySQL, а на самом деле он нашел ошибку в компиляторе. Большинство компиляторов постоянно находятся в состоянии разработки и становятся лучше от версии к версии. Чтобы определить, зависит ли ваша проблема от компилятора, мы должны знать, какой именно используется компилятор. Обратите внимание на то, что все проблемы с компиляторами должны рассматриваться как ошибки и по ним должен составляться соответствующий отчет.

Вы окажете нам значительную помощь, включив в отчет об ошибке подробное описание проблемы. В качестве хорошего примера подобной информации можно привести описание всех действий, которые привели к возникновению проблемы и описание самой проблемы. Лучшие отчеты содержат подробные примеры, в которых показано, как можно воспроизвести ошибку или проблему. section E.1.6 Создание контрольного примера при повреждении таблиц.

Если программа выдает сообщение об ошибке, очень важно точно воспроизвести это сообщение в своем отчете! Возможно, нам придется производить поиск в архивах - лучше, чтобы указанное в отчете сообщение об ошибке точно совпадало с тем, которое выдает программа. Не следует пытаться запомнить сообщение об ошибке, имеет смысл просто скопировать его полностью и вставить в отчет!

Если возникли проблемы с MyODBC, необходимо попытаться создать файл трассировки MyODBC. See section 8.3.7 Составление отчетов о проблемах с MyODBC.

Не забывайте, что у большинства людей, которые будут читать ваш отчет, экраны дисплеев имеют ширину в 80 символов. При создании отчетов или примеров при помощи средств командной строки mysql необходимо использовать параметр --vertical (или терминатор оператора \G) для выходных данных, которые будут превышать ширину для таких дисплеев (пример для оператора EXPLAIN SELECT приведен ниже в данном разделе).

В свой отчет вам необходимо включить следующую информацию:

Если вы пользователь, пользующийся официальной поддержкой, направьте отчет об ошибке на mysql-support@mysql.com, чтобы его рассмотрели в первую очередь, а также в соответствующий список рассылки, чтобы узнать, сталкивался ли кто-нибудь еще с этой проблемой (и, возможно, нашел решение).

Чтобы получить информацию по отчетам об ошибках в MyODBC, See section 8.3.4 Как сообщать о проблемах с MyODBC.

Решения для наиболее часто встречающихся проблем можно найти в разделе section A Проблемы и распространенные ошибки.

Если ответы направляются к вам индивидуально, не попадая в список рассылки, хорошим тоном считается составить отчет по полученным ответам и отправить его в список рассылки, чтобы другие пользователи смогли получить информацию, которая помогла решить вашу проблему!


1.8.1.2 Как задавать вопросы и направлять сообщения об ошибках Оглавление 1.8.1.4 Рекомендации по ответам на вопросы, направляемые в список рассылки