haiku/docs/welcome/ru/bugreports.html

177 lines
27 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<!--
*
* Copyright 2008-2012, Haiku. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Niels Reedijk, Matt Madia and Ingo Weinhold who wrote
* http://dev.haiku-os.org/wiki/ and http://dev.haiku-os.org/wiki/ReportingBugs
* Humdinger <humdingerb@gmail.com>
* Translators:
* Michael Smirnov
* Diver
* Rodastahm Islamov
*
-->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="robots" content="all" />
<title>Отчёт об ошибках (багах)</title>
<link rel="stylesheet" type="text/css" href="../Haiku-doc.css" />
</head>
<body>
<div id="banner">
<div><span>Руководство пользователя</span></div>
</div>
<div class="nav">
<div class="inner">
<ul class="lang-menu">
<li class="now"><img src="../images/flags/ru.png" alt="" /> Русский</li>
<li><a href="../fr/bugreports.html"><img src="../images/flags/fr.png" alt="" />Français</a></li>
<li><a href="../de/bugreports.html"><img src="../images/flags/de.png" alt="" />Deutsch</a></li>
<li><a href="../it/bugreports.html"><img src="../images/flags/it.png" alt="" />Italiano</a></li>
<li><a href="../es/bugreports.html"><img src="../images/flags/es.png" alt="" />Español</a></li>
<li><a href="../sv_SE/bugreports.html"><img src="../images/flags/sv_SE.png" alt="" />Svenska</a></li>
<li><a href="../jp/bugreports.html"><img src="../images/flags/jp.png" alt="" />日本語</a></li>
<li><a href="../uk/bugreports.html"><img src="../images/flags/uk.png" alt="" />Українська</a></li>
<li><a href="../zh_CN/bugreports.html"><img src="../images/flags/zh_CN.png" alt="" /> 中文 [中文]</a></li>
<li><a href="../pt_PT/bugreports.html"><img src="../images/flags/pt_PT.png" alt="" />Português</a></li>
<li><a href="../fi/bugreports.html"><img src="../images/flags/fi.png" alt="" />Suomi</a></li>
<li><a href="../sk/bugreports.html"><img src="../images/flags/sk.png" alt="" />Slovenčina</a></li>
<li><a href="../en/bugreports.html"><img src="../images/flags/gb.png" alt="" />English</a></li>
</ul>
<span>
<a href="../welcome_ru.html" class="uplink">Welcome</a>
</span></div>
</div>
<div id="content">
<div>
<div class="box-info">Перевод этой страницы еще не завершен. Пока это не произойдет, незавершенные части будут на английском.</div>
<table class="index" id="index" summary="index">
<tr class="heading"><td>Index</td></tr>
<tr class="index"><td><a href="#account">Получение аккаунта в Trac</a><br />
<a href="#report">Создание отчёта об ошибке</a><br />
<a href="#app">Ошибки приложений</a><br />
<a href="#server">Ошибки серверов</a><br />
<a href="#kernel">Ошибки ядра</a><br />
<a href="#kdl">Царство отладки ядра - KDL</a><br />
<a href="#syslog">Системный журнал</a><br />
<a href="#onscreen">Вывод отладочной информации на экран</a><br />
<a href="#hardware">Аппаратные ошибки/Ошибки в драйверах</a><br />
<a href="#next">Что дальше?</a></td></tr>
</table>
<h1>Отчёт об ошибках (багах)</h1>
<p>Так как наши разработчики не в состоянии проверить все комбинации компьютерных комплектующих и программных средств при их работе в Haiku, то мы полагаемся на пользователей, надеясь, что вы сообщите нам об обнаруженных ошибках, которых, ввиду молодости Haiku, может быть немало. Мы будем благодарны вам за потраченное на составление отчёта время, только вместе мы сможем сделать Haiku лучше.</p>
<p>Для продуктивной работы c системой отслеживания ошибок (багтрекером) важно соблюдать принятый в нём <a href="http://dev.haiku-os.org/wiki/BugTrackerEtiquette">этикет</a>.</p>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="account" name="accout">Получение аккаунта в Trac</a></h2>
<p>Чтобы создать новый багрепорт, у вас должен быть заведён аккаунт в <a href="http://dev.haiku-os.org/register" title="Регистрация в багтрекере Haiku">багтрекере Haiku</a>.<br />
Создавая новый аккаунт <b>обязательно введите адрес электронной почты</b>, так как на него будут приходить все сведения, связанные с изменением багрепорта. Убедитесь, что приходящие с багтрекера письма <b>не помечаются как спам,</b> так как это вполне возможно.</p>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="report" name="report">Создание отчёта об ошибке</a></h2>
<p>Прежде чем сообщать об ошибке, пожалуйста, <a href="http://dev.haiku-os.org/query?status=new&amp;status=assigned&amp;status=reopened&amp;status=closed&amp;summary=%7Eтекст,+который+вы+ищите&amp;order=priority">убедитесь</a>, что аналогичного багрепорта ещё не существует. Для этого также можно воспользоваться функцией <a href="http://dev.haiku-os.org/search?q=&amp;noquickjump=1&amp;ticket=on">поиска</a>.<br />
После того как вы установили, что подобных багрепортов не имеется, то оформите вашу информацию как можно точнее:</p>
<ul>
<li><p>Попытайтесь воспроизвести вашу проблему на текущей ревизии Haiku. Готовые образы для тестирования доступны <a href="http://haiku-files.org/">здесь</a>.</p></li>
<li><p>Включите информацию о том как вы тестируете Haiku (на реальном компьютере, в эмуляторе VMWare, QEMU, и т. д.).</p></li>
<li><p>Укажите какую <acronym title="Subversion - система управления версиями, которую мы используем">SVN</acronym> ревизию Haiku вы используете. Эту информацию можно найти в окне программы <span class="menu">О системе Haiku...</span> , которая доступна в меню Deskbar-а. Также укажите какой тип сборки Haiku вы тестируете (gcc2, gcc4, gcc2hybrid, gcc4hybrid). Образы для скачивания названы подобным образом, а если вы собрали систему сами, то вы знаете как вы ее собрали.</p></li>
<li><p>Опишите проблему, с которой вы столкнулись, попытайтесь описать её наиболее точно: как именно она проявилась, и как правильно должен бы был действовать проблемный объект при её отсутствии.</p></li>
<li><p>Расскажите какие шаги нужно выполнить для её возникновения, что поможет разработчикам воспроизвести эту ошибку.</p></li>
<li><p>Прикрепите всю имеющуюся информацию. Если это ошибка графического интерфейса или баг в каком-либо приложении, то попытайтесь сделать скриншот клавишей <span class="key">Print Screen</span> key.</p></li>
</ul>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="app" name="app">Ошибки приложений</a></h2>
<p>Когда приложение аварийно завершилось, вы должны запустить отладчик из окна сообщения о падении программы. Откроется окно Терминала с запущенным gdb (the GNU debugger). Введя в окне терминала <span class="cli">bt</span>, вы создадите "трассировку", которую необходимо полностью скопировать (включая текст, который уже был до ввода команды <span class="cli">bt</span>) и прикрепить ее в ваш багрепорт.</p>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="server" name="server">Ошибки серверов</a></h2>
<p>Когда жизненно важный сервер, такой как app server, registrar или input server падает, вы не увидите обычное сообщение о падении приложения. Вместо этого весь экран станет белым и запустится gdb сессия, ее вывод будет попадать напрямую на экран. Скорее всего вы все еще сможете двигать курсором, что приведет к перезаписи участков белого экрана с выводом. Все еще работающие приложения (например Контроллер процессов или часы в Deskbar) могут также прорисовываться сквозь вывод отладчика на экран.<br />
Кроме того, что все более выглядит более страшно и неудобно, применимо все то же самое, что и в случае ошибок приложений. Самое важное в данном случае - это выполнение трассировки коммандой (<span class="cli">bt</span>). Скорее всего вам понадобится сфотографировать экран, так как будет невозможно куда либо скопировать текст трассировки.</p>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="kernel" name="kernel">Ошибки ядра</a></h2>
<p>Ошибки ядра обычно вызывают наиболее серьезные последствия и в тоже время их сложнее отлаживать. Существуют различные типы симптомов, которые скорее всего указывают на ошибку в ядре или на проблему с каким-либо драйвером:</p>
<ul>
<li><p>Система входит в царство отладки ядра (KDL) по собственному желанию. Верхняя часть экрана станет белой и появятся несколько строчек текста. Во второй стоке будет написано "<i>Welcome to Kernel Debugging Land...</i>", выше этой строки будет указана непосредственная причина входа в KDL.</p></li>
<li><p>Система спонтанно перезагружается.</p></li>
<li><p>Система полностью зависает. Курсор не двигается и ни одно приложение не выводит и не прорисовывает ничего на экран. Важный тестом в данном случае является проверка, пожете ли вы все еще войти в KDL через комбинацию клавиш <span class="key">ALT</span> <span class="key">SysReq</span> <span class="key">D</span> (эквивалентом <span class="key">SysReq</span> является <span class="key">PrintScreen</span> на большинстве клавиатур). Подождите несколько минут и посмотрите, произойдет ли что-нибудь.</p></li>
<li><p>Система не загружается корректно. Она может спонтанно перезагружаться на каком-то моменте или зависать (например на каком-то значке экрана загрузки). В случае зависания попробуйте нажать <span class="key">ALT</span> <span class="key">SysReq</span> <span class="key">D</span>.</p></li>
<li><p>Система или какое-то устройство не работает нормально. Например если она работает очень медленно, появляются ошибки, или что-то вообще не работает. Если какое-то устройство вообще не работает первое что нужно проверить это поддерживает ли его Haiku в данный момент (например спросить в списке рассылки или на форуме).</p></li>
</ul>
<p>Заметьте, что хотя только последний пункт указывает на проблему связанную с оборудованием, все остальные симптомы могут также быть вызваны ошибкой в драйвере оборудования. Если вы подозреваете, что какое-то устройство или его драйвер могут быть как-то связаны с наблюдаемой проблемой, то проверьте изменится что-либо после отключения устройства или удаления его драйвера. Например если вы подозреваете Wifi, то вы можете найти опцию в BIOS для его отключения. Если же такой опции нет, то вы можете удалить соответствующий Wifi драйвер (из папки <span class="path">/boot/system/add-ons/kernel/drivers/bin</span>).</p>
<h3><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="kdl" name="kdl">Царство отладки ядра - KDL</a>
</h3>
<p>Когда какой-либо системный низкоуровневый компонент вызывает фатальную ошибку, то вы, с большой долей вероятности, окажетесь в отладчике ядра. Также он может быть вызван намеренно при нажатии на клавиши <span class="key">ALT</span>+<span class="key">SysReq</span>+<span class="key">D</span> (клавиша <span class="key">SysReq</span> называется <span class="key">PrintScreen</span> на большинстве клавиатур).
Учтите, что ваша клавиатура может не работать в KD. PS/2 клавиатуры работают всегда, USB клавиатуры, подключенные через UHCI контроллер работают, только если вы входили в KDL через клавиатурное сочетание хотя бы раз. USB OHCI не поддерживаются в данный момент.</p>
<p>Сам по себе KDL является некой оболочкой. Вы можете выполнять команды, которые выводят информацию о системе. Следующие команды могут быть интересны:</p>
<table summary="layout" border="0" cellpadding="2" cellspacing="0">
<tr><td><span class="cli">bt</span> (синоним sc)</td><td> </td><td><span class="cli">bt</span> - покажет трассировку, уточняющую где именно произошла ошибка.
Если система вошла в KDL самопроизвольно, всегда используйте эту команду.</td></tr>
<tr><td><span class="cli">ints</span></td><td> </td><td><span class="cli">int</span> - отобразит обработанные и необработанные прерывания.</td></tr>
<tr><td class="onelinetop"><span class="cli">co</span> (синоним continue)</td><td> </td><td>выведет систему из отладчика ядра продолжит нормальную работу Haiku, если это возможно.</td></tr>
<tr><td><span class="cli">reboot</span></td><td> </td><td>Немедленно перезагрузит систему. Вы потеряете все несохраненные данные и те, что были сохранены, но еще не успели записаться из памяти обратно на диск.</td></tr>
</table>
<p>Для более подробной информации смотрите статью <a href="http://www.haiku-os.org/documents/dev/welcome_to_kernel_debugging_land">Добро пожаловать в Царство Отладки Ядра</a>.</p>
<p>The KDL output is written to the serial port (if you have one, a respective cable, and a second computer to connect with, you can capture the output there via a terminal program) and to the syslog. If you can't leave KDL it won't be written to the syslog file, though. There's a boot loader debug option that allows you to capture it nonetheless (see below).</p>
<p>You can generate QR codes from KDL output that can then be converted to text using smartphones or similar devices. See the blog post <a href="http://www.haiku-os.org/blog/mmlr/2012-07-01_qr_encode_your_kdl_output">QR Encode your KDL Output</a> on how to get data out of KDL using that feature.</p>
<h3><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="syslog" name="syslog">Системный журнал</a></h3>
<p><b>This is the preferred method for gaining information from a non-booting system.</b><br />
The syslog (short for system log) contains valuable information about what has happened in your system, including the output of KDL sessions. It's usually a good idea to attach it to the kernel related Trac ticket. The syslog is written to the file <span class="path">/boot/common/var/log/syslog</span>. Since writing to a file requires a working system, the most recent output might not have made it to the syslog when a kernel problem occurs (particularly on spontaneous reboots or uncontinuable KDL sessions).</p>
<p>The option <span class="menu">Enable debug syslog</span> in the boot loader's <span class="menu">Debug menu</span> makes the syslog somewhat persistent in memory. By default the option is enabled. "Somewhat persistent" means that it survives a reset and will still be accessible when you enter the boot loader menu directly afterwards. Booting an operating system (Haiku definitely, others likely) destroys the information, though. So you have to enter the boot loader menu by holding down <span class="key">SHIFT</span> while booting.<br />
In the boot loader's <span class="menu">Debug menu</span> you should now find the entries <span class="menu">Display syslog from previous session</span> and <span class="menu">Save syslog from previous session</span>. The former displays the syslog on screen, the latter allows you to save it as a file to disk. Note that at the moment only FAT32 volumes are supported for saving the file. If you want to use a USB stick, but have plugged it in too late so that it isn't recognized yet, you can reset the machine and re-enter the boot loader menu. But again: Don't accidentally boot any operating system or the data will be lost.</p>
<h3><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="onscreen" name="onscreen">Вывод отладочной информации на экран</a></h3>
<p><b>Функция вывода отладочной информации на экран полезна для отладки только специфичных проблем, она также имеет известные проблемы с таймингами. Используйте ее только если это очень необходимо.</b><br />
Ее использование имеет смысл только когда Haiku не загружается на вашем компьютереи функция <span class="menu">Debug syslog option</span> по какой-то причине не работает. Перед появлением загрузочного экрана зажмите <span class="key">SHIFT</span> для входа в меню загрузчика. Выберите <span class="menu">Select safe mode options</span>. Почти в самом низу будет опция, <span class="menu">[ ] Enable on screen debug output</span>. (Имейте в виду, что можно включить остальные опции, чтобы Haiku загрузилась. Если Haiku будет загружаться только при включении одной или более опций, не забудьте указать какие именно.)<br />
И наконец выбарите <span class="menu">Return to main menu</span>, а затем then <span class="menu">Continue booting</span>.<br />
Одна страница текста или более появятся на экране, только последние несколько строк нужно включать в ваш багрепорт. Дополнительная информация имеется в статье <a href="../../../userguide/ru/bootloader.html">Загрузчик</a>.</p>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="hardware" name="hardware">Аппаратные ошибки/Ошибки в драйверах</a></h2>
<p>Если вы столкнулись с ошибкой работы оборудования и/или драйвера, то вы должны приложить к вашему багрепорту следующую информацию в виде текстовых файло:</p>
<table summary="layout" border="0" cellpadding="2" cellspacing="0">
<tr><td>- <span class="cli">listdev</span></td><td> </td><td><span class="cli">listdev</span> - подробный список оборудования, включающий ID производителей и отдельных устройств, схожа с командами Linux <span class="cli">lshw</span> и <span class="cli">lspci</span>.</td></tr>
<tr><td>- <span class="cli">listusb -v</span></td><td> </td><td><span class="cli">listusb -v</span> - используйте при ошибке, связанной с USB, аналогична команде <span class="cli">lsusb</span>.</td></tr>
<tr><td>- <span class="cli">open /var/log/syslog</span></td><td> </td><td><span class="cli">open /var/log/syslog</span> - основной системный лог, используемый Haiku. С командой <span class="cli">open</span> можно вырезать нужную часть лога в текстовом редакторе.</td></tr>
<tr><td class="onelinetop">- <span class="cli">listimage | grep drivers/</span></td><td> </td><td><span class="cli">listimage | grep drivers/</span> - список всех загруженных драйверов.</td></tr>
<tr><td>- <span class="cli">ints</span></td><td> </td><td><span class="cli">ints</span> - доступна только в режиме <i>Царства отладки ядра (Kernel Debugging Land - KDL)</i> (см. выше). Отображает используемые прерывания. Не должно быть слишком много устройств, использующих одно прерывание.</td></tr>
<tr><td colspan="3">- On screen debug output (опция загрузочного меню).</td></tr>
</table>
<p>Все эти команды вводятся в терминале, если не указано иное. Если добавить <span class="cli"> &gt; output.txt</span> после команды, то результат её работы сохранится в текстовый файл "output.txt", который можно прикрепить к своему сообщению об ошибке или отправить по электронной почте.</p>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="next" name="next">Что дальше?</a></h2>
<p>После того как багрепорт отправлен, разработчик рассмотрит вашу ошибку и попытаться классифицировать ее. Помните, что мы все добровольцы, и иногда багрепорт может оставаться без ответа некоторое время. Добавление новой информации к этой ошибке помогает исправить её быстрее, но не пытайтесь увеличить её значимость, добавляя не относящиеся к делу комментарии.</p>
<p>Помните, что отправка багрепорта, на который вы потратили некоторое время - это ещё полдела, и желательно чтобы вы следили за его состоянием. Только в этом случае вы внесёте ощутимую часть в процесс развития Haiku. У разработчиков могут возникнуть вопросы, относящиеся к багу во время его исправления, пожалуйста, не игнорируйте их, постаравшись как можно подробней ответить. Считайте свое участие законченным, только когда ошибка приобретёт статус "исправлено (fixed)".</p>
</div>
</div>
<div class="nav">
<div class="inner"><span>
<a href="../welcome_ru.html" class="uplink">Welcome</a>
</span></div>
</div>
</body>
</html>