userguide/welcome/uk/bugreports.html
2024-09-10 01:31:50 +00:00

189 lines
30 KiB
HTML
Raw Permalink 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="uk" xml:lang="uk">
<head>
<!--
*
* Copyright 2008-2020, 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:
* Iah
* totish
*
-->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="robots" content="all" />
<title>Звіти про помилки</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<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">Українська&nbsp;<span class="dropdown-caret">&#9660;</span></li>
<li><a href="../id/bugreports.html">Bahasa Indonesia</a></li>
<li><a href="../ca/bugreports.html">Català</a></li>
<li><a href="../de/bugreports.html">Deutsch</a></li>
<li><a href="../en/bugreports.html">English</a></li>
<li><a href="../es/bugreports.html">Español</a></li>
<li><a href="../eo/bugreports.html">Esperanto</a></li>
<li><a href="../fr/bugreports.html">Français</a></li>
<li><a href="../fur/bugreports.html">Furlan</a></li>
<li><a href="../it/bugreports.html">Italiano</a></li>
<li><a href="../hu/bugreports.html">Magyar</a></li>
<li><a href="../pl/bugreports.html">Polski</a></li>
<li><a href="../pt_PT/bugreports.html">Português</a></li>
<li><a href="../pt_BR/bugreports.html">Português (Brazil)</a></li>
<li><a href="../ro/bugreports.html">Română</a></li>
<li><a href="../sk/bugreports.html">Slovenčina</a></li>
<li><a href="../fi/bugreports.html">Suomi</a></li>
<li><a href="../sv_SE/bugreports.html">Svenska</a></li>
<li><a href="../tr/bugreports.html">Türkçe</a></li>
<li><a href="../zh_CN/bugreports.html"> 中文 [中文]</a></li>
<li><a href="../ru/bugreports.html">Русский</a></li>
<li><a href="../jp/bugreports.html">日本語</a></li>
</ul>
<span>
<a href="../welcome_uk.html" class="uplink">Welcome</a>
</span></div>
</div>
<div id="content">
<div>
<table class="index" id="index" summary="index">
<tr class="heading"><td>Зміст</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">Kernel Debugging Land 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, крок за кроком.</p>
<p>Щоб наш багтрекер був ефективним, важливо дотримуватися <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="Register at Haiku's Bugtracker">системі відстеження помилок 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=%7Etext+you+want+to+search+for&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://download.haiku-os.org">доступні</a> на офіційному сайті.</p></li>
<li><p>Надайте основну інформацію, наприклад, як Ви тестуєте Haiku (на реальному обладнанні, на VMWare, на QEMU тощо).</p></li>
<li><p>Зазначте, яку ревізію Ви використовуєте. Цю інформацію можна знайти у пункті <span class="menu">Про систему Haiku</span> меню Deskbar. Також зазначте, яку збірку Haiku Ви тестуєте (x86_gcc2, x86_64), яка тестується. Образи, які можна завантажити, мають відповідні назви, для самостійно створеного образу Вам слід знати, як Ви його створили.</p></li>
<li><p>Опишіть проблему, з якою Ви зіткнулися. Намагайтеся бути якомога точнішими: опишіть фактичну поведінку та поведінку, яку Ви очікували.</p></li>
<li><p>Опишіть, які кроки потрібно виконати, щоб виявити (відтворити) помилку. Це допоможе розробникам відтворити баг.</p></li>
<li><p>Додайте якомога більше інформації. Якщо це помилка графічного інтерфейсу або помилка в одній з програм, спробуйте зробити знімок екрана натиснувши клавішу <span class="key">PRINT</span>.</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>Після аварійного завершення програми Ви можете зберегти звіт про помилку чи записати дамп ядра (обидва зберігаються на Робочому столі), який можна прикріпити при поданні тікета, або викликати <a href="../../userguide/uk/applications/debugger.html">Debugger</a>.</p>
<p>Якщо це не збій, Ви можете отримати корисну інформацію під час запуску програми з терміналу. Деякі програми передбачають ведення журналу та інші можливості під час запуску з певними параметрами; спробуйте скористатися командами <tt>-h</tt> або <tt>--help</tt>, щоб дізнатися, чи це так. Як приклад, перегляньте різні рівні журналювання у <a href="../../userguide/uk/applications/haikudepot.html#logs">HaikuDepot</a>.</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 виходять з ладу, Ви не побачите звичного сповіщення про збій. Замість цього весь екран стане білим, відладчик буде запущено у текстовому режимі і його вивід з'явиться безпосередньо на екрані. Скоріш за все, Ви все ще зможете рухати мишею, курсор якої перезапише білий екран і вивід відладчика на екран. Програми, які все ще працюють (наприклад, ProcessController або годинник на панелі задач), також можуть перекривати вивід відладчика на екрані.<br />
Окрім того, що все виглядає більш жахливо і незручно, в основному все те ж саме, що і для помилок у програмі. Найважливіше зробити зворотне трасування (командою <span class="cli">bt</span>). Можливо, Вам доведеться сфотографувати екран цифровою камерою, оскільки скопіювати текст нікуди не вдасться.<br />
Залежно від того, що саме вийшло з ладу, Ви можете спробувати зберегти звіт про помилку на робочому столі за допомогою команди <span class="cli">save-report</span> або <span class="cli">write-core</span> для дампа ядра, а потім натиснути кнопку живлення один раз, щоб спробувати вимкнути систему повністю. Якщо кнопка живлення не спрацювала, є також команди <span class="cli">shutdown</span> і <span class="cli">reboot</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">PRINT</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 до чорного списку встановленої системи Haiku (дивіться розділ <a href="../../userguide/uk/bootloader.html">Boot Loader</a>).</p>
<h3><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="kdl" name="kdl">Kernel Debugging Land KDL</a></h3>
<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">PRINT</span> на більшості клавіатур).<br />
Зауважте, що у режимі KDL Ваша клавіатура може не працювати. Клавіатури PS/2 завжди працюють, у випадку з USB-клавіатурами це залежить від типу USB-контролера (UHCI/EHCI). Як правило, клавіатуру слід підключати до порту безпосередньо, а не через хаб. За певних обставин клавіатура може працювати, лише якщо Ви хоча б один раз перейшли у режим 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>виводить на екран зворотнє трасування (також відоме як перегляд стека). Якщо система увійшла у режим KDL за власним бажанням, зворотне трасування зазвичай виводиться автоматично. Введіть цю команду, якщо цього не сталося або частину трасування не видно (наприклад, якщо трасування стека настільки довге, що воно прокручує екран) і єдиний спосіб надати інформацію розробникам це зробити знімок екрана.</td></tr>
<tr><td><span class="cli">ints</span></td><td> </td><td>показує оброблені та необроблені апаратні переривання.</td></tr>
<tr><td class="onelinetop"><span class="cli">co</span> (або continue)</td><td> </td><td>виходить з відладчика ядра і продовжує нормальну роботу системи, якщо це можливо.</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">Welcome to Kernel Debugging Land</a>.</p>
<p>Вивід KDL записується у послідовний порт (якщо у Вас є послідовний порт, відповідний кабель і другий комп'ютер для підключення, Ви можете перехопити вихідні дані за допомогою програми-терміналу) і у файл системного журналу (syslog). Якщо Ви не можете вийти з KDL, дані не будуть записані у файл syslog. Існує опція секції відладки загружчика, яка дозволяє перехоплювати вивод (дивіться нижче).</p>
<p>Ви можете генерувати QR-коди з вихідних даних KDL, які потім можна перетворити на текст за допомогою смартфонів або подібних пристроїв. Про те, як отримати дані з KDL за допомогою цієї функції, дивіться статтю <a href="http://www.haiku-os.org/blog/mmlr/2012-07-01_qr_encode_your_kdl_output">QR Encode your KDL Output</a>.</p>
<h3><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="syslog" name="syslog">Системний журнал (Syslog)</a></h3>
<p><b>Це найкращий спосіб отримати інформацію з системи, яка не загружається.</b><br />
Syslog (скорочення від system log системний журнал) містить цінну інформацію про те, що сталося у Вашій системі, зокрема виведення відладочної інформації сеансів KDL. Зазвичай рекомендується долучати його до пов'язаного з ядром тікета системи Trac. Системний журнал записується у файл <span class="path">/boot/system/var/log/syslog</span>. Оскільки для запису у файл потрібна робоча система, при виникненні проблем ядра (зокрема, під час спонтанних перезагрузок або перериванні сеансів KDL), крайній вивід міг не потрапити до системного журналу.</p>
<p>Опція <span class="menu">Enable debug syslog</span> меню <span class="menu">Select debug options</span> загружчика вмикає запис системного журналу на постійній основі. Якщо у параметрах відладки загружчика увімкнено опцію <span class="menu">Save syslog from previous session during boot</span> (увімкнена за замовчуванням), системний журнал Вашого останнього сеансу запишеться як файл <span class="path">/boot/system/var/log/previous_syslog</span>.<br />
Якщо Ви не можете загрузитися, щоб отримати доступ до «previous_syslog», Вам потрібно увійти у меню загружчика, утримуючи клавішу <span class="key">SHIFT</span> під час загрузки (або <span class="key">SPACE</span> для загрузки через UEFI).<br />
У меню <span class="menu">Select debug options</span> загружчика Ви знайдете опції <span class="menu">Display syslog from previous session</span> і <span class="menu">Save syslog from previous session</span>. Перша опція виводить syslog на екран, друга дозволяє зберегти його у вигляді файлу на диск. Зверніть увагу, що на даний момент для збереження файлу підтримуються лише томи FAT32. Якщо Ви хочете використати USB-накопичувач, але підключили його занадто пізно і він ще не розпізнаний, Ви можете перезагрузити комп'ютер і знову увійти до меню загружчика. Примітка: Не загрузіть випадково будь-яку іншу операційну систему, інакше дані буде втрачено.</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">Enable debug syslog</span> з якихось причин не спрацьовує. Перш ніж з'явиться логотип завантаження Haiku, утримуйте клавішу <span class="key">SHIFT</span> (або <span class="key">SPACE</span> для загрузки через UEFI), щоб увійти у меню загружчика. Далі, зайдіть у меню <span class="menu">Select debug options</span>. Там Ви знайдете опцію <span class="menu">Enable on screen debug output</span>. (Примітка: Під час спроби загрузки Haiku можуть бути увімкнені інші опції. Якщо Haiku загружається лише після увімкнення одної або кількох опції, обов'язково вкажіть їх).<br />
Нарешті, виберіть <span class="menu">Return to main menu</span>, а потім <span class="menu">Continue booting</span>.<br />
На екрані з'явиться одна або кілька сторінок тексту, лише останні кілька рядків потрібно включити у Ваш тікет. Більше інформації про загружчик можна знайти у розділі <a href="../../userguide/uk/bootloader.html">Boot Loader</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>детальний список Вашого обладнання, включно з ідентифікаторами виробника та pci, подібно до команд <span class="cli">lshw</span> та <span class="cli">lspci</span> у Linux. </td></tr>
<tr><td> <span class="cli">listusb -v</span></td><td> </td><td>детальна інформація по USB, припускаємо, що проблема може бути пов'язана з USB, команда аналогічна <span class="cli">lsusb</span>.</td></tr>
<tr><td> <span class="cli">open /var/log/syslog</span></td><td> </td><td>основний системний журнал, який використовує Haiku, дивіться вище <a href="#syslog">Системний журнал</a>, який схожий на екранний вивід відладчика під час завантаження. За допомогою команди <span class="cli">open</span> Ви можете вирізати відповідну частину системного журналу у текстовому редакторі.</td></tr>
<tr><td class="onelinetop"> <span class="cli">listimage | grep drivers/</span></td><td> </td><td>список усіх використаних драйверів.</td></tr>
<tr><td> <span class="cli">usb_hid_report</span></td><td> </td><td>у разі використання USB-пристроїв додайте файл <span class="cli">/tmp/usb_hid_report_descriptor_*.bin</span>.</td></tr>
<tr><td> <span class="cli">ints</span></td><td> </td><td>Доступно лише у режимі <i>Kernel Debugging Land</i> (дивіться вище). Показує використання переривань. Не повинно бути занадто багато переривань, які спільно використовуються різними пристроями.</td></tr>
<tr><td colspan="3"> Вивід відладочної інформації на екран (опція меню вибору параметрів відладки загружчика, дивіться <a href="#onscreen">вище</a>).</td></tr>
</table>
<p>Перші чотири команди вводяться у терміналі. Додайте «<span class="cli"> &gt; output.txt</span>» після команди і вона буде збережена у текстовому файлі з назвою «<tt>output.txt</tt>», який Ви можете прикріпити до Вашого звіту про помилку або електронного листа.</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. У розробників можуть виникнути запитання, коли вони намагаються виправити помилку. Будь ласка, залишайтеся на зв'язку, щоб відповісти на них. Вважайте свою участь «завершеною», коли помилка буде позначена як «виправлена» а звіт про помилку закритий.</p>
</div>
</div>
<div class="nav">
<div class="inner"><span>
<a href="../welcome_uk.html" class="uplink">Welcome</a>
</span></div>
</div>
</body>
</html>