1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" lang=
"uk" xml:
lang=
"uk">
7 * Copyright 2008-2012, Haiku. All rights reserved.
8 * Distributed under the terms of the MIT License.
11 * Niels Reedijk, Matt Madia and Ingo Weinhold who wrote
12 * http://dev.haiku-os.org/wiki/ and http://dev.haiku-os.org/wiki/ReportingBugs
13 * Humdinger <humdingerb@gmail.com>
18 <meta http-equiv=
"content-type" content=
"text/html; charset=utf-8" />
19 <meta name=
"robots" content=
"all" />
20 <title>Зголошення про помилки
</title>
21 <meta name=
"viewport" content=
"width=device-width, initial-scale=1.0" />
22 <link rel=
"stylesheet" type=
"text/css" href=
"../Haiku-doc.css" />
27 <div><span>Настанова користувачеві
</span></div>
32 <ul class=
"lang-menu">
33 <li class=
"now"><img src=
"../images/flags/uk.png" alt=
"" /> Українська
</li>
34 <li><a href=
"../ca/bugreports.html"><img src=
"../images/flags/ca.png" alt=
"" />Català
</a></li>
35 <li><a href=
"../de/bugreports.html"><img src=
"../images/flags/de.png" alt=
"" />Deutsch
</a></li>
36 <li><a href=
"../en/bugreports.html"><img src=
"../images/flags/gb.png" alt=
"" />English
</a></li>
37 <li><a href=
"../es/bugreports.html"><img src=
"../images/flags/es.png" alt=
"" />Español
</a></li>
38 <li><a href=
"../fr/bugreports.html"><img src=
"../images/flags/fr.png" alt=
"" />Français
</a></li>
39 <li><a href=
"../it/bugreports.html"><img src=
"../images/flags/it.png" alt=
"" />Italiano
</a></li>
40 <li><a href=
"../hu/bugreports.html"><img src=
"../images/flags/hu.png" alt=
"" />Magyar
</a></li>
41 <li><a href=
"../pl/bugreports.html"><img src=
"../images/flags/pl.png" alt=
"" />Polski
</a></li>
42 <li><a href=
"../pt_PT/bugreports.html"><img src=
"../images/flags/pt_PT.png" alt=
"" />Português
</a></li>
43 <li><a href=
"../pt_BR/bugreports.html"><img src=
"../images/flags/pt_BR.png" alt=
"" />Português (Brazil)
</a></li>
44 <li><a href=
"../ro/bugreports.html"><img src=
"../images/flags/ro.png" alt=
"" />Română
</a></li>
45 <li><a href=
"../sk/bugreports.html"><img src=
"../images/flags/sk.png" alt=
"" />Slovenčina
</a></li>
46 <li><a href=
"../fi/bugreports.html"><img src=
"../images/flags/fi.png" alt=
"" />Suomi
</a></li>
47 <li><a href=
"../sv_SE/bugreports.html"><img src=
"../images/flags/sv_SE.png" alt=
"" />Svenska
</a></li>
48 <li><a href=
"../zh_CN/bugreports.html"><img src=
"../images/flags/zh_CN.png" alt=
"" /> 中文 [中文]
</a></li>
49 <li><a href=
"../ru/bugreports.html"><img src=
"../images/flags/ru.png" alt=
"" />Русский
</a></li>
50 <li><a href=
"../jp/bugreports.html"><img src=
"../images/flags/jp.png" alt=
"" />日本語
</a></li>
53 <a href=
"../welcome_uk.html" class=
"uplink">Welcome
</a>
60 <table class=
"index" id=
"index" summary=
"index">
61 <tr class=
"heading"><td>Зміст
</td></tr>
62 <tr class=
"index"><td><a href=
"#account">Створення облікового запису у Trac
</a><br />
63 <a href=
"#report">Створення звіту про помилку
</a><br />
64 <a href=
"#app">Помилки у додатках
</a><br />
65 <a href=
"#server">Помилки у серверах
</a><br />
66 <a href=
"#kernel">Помилки у ядрі
</a><br />
67 <a href=
"#kdl">Kernel Debugging Land - KDL
</a><br />
68 <a href=
"#syslog">Системний журнал
</a><br />
69 <a href=
"#onscreen">Вивід відладки на екран
</a><br />
70 <a href=
"#hardware">Помилки драйверів апаратного забезпечення
</a><br />
71 <a href=
"#next">Що далі?
</a></td></tr>
74 <h1>Зголошення про помилки
</h1>
76 <p>Так як наші розробники не можуть протестувати всі комбінації апаратного забезпечення, ні дуже різні способи їх взаємодії з операційною системою, ми покладаємося на користувачів щоб отримати деякі матеріали про роботу їхнього
"заліза" в решті решт. Так як Haiku все ще досить молода, дуже ймовірно, що Ви будете мати справу з помилками. Ми дякуємо Вам за те що Ви знайшли час щоб повідомляти про них. Разом ми поступово зможемо поліпшити Haiku.
</p>
77 <p>Для збереження ефективності багтрекера, дуже важливо підтримувати
<a href=
"http://dev.haiku-os.org/wiki/BugTrackerEtiquette">етикет Зголошення про помилки (Bug Tracker)
</a>.
</p>
79 <h2><a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
80 <a id=
"account" name=
"accout">Створення облікового запису у Trac
</a></h2>
81 <p>Щоб подати квиток, вам потрібно створити обліковий запис на сторінці
<a href=
"http://dev.haiku-os.org/register" title=
"Register at Haiku's Bugtracker">Зголошення про помилки Haiku
</a>.
<br />
82 При створенні нового облікового запису обов'язково
<b>подайте Вашу електронну адресу
</b> бо це необхідно, щоб отримати основні привілеї модифікації квитків. Обов'язково
<b>перевірте Вашу спам-теку
</b> одразу після цього, позаяк усі важливі перевірки листів закінчуються переважно там.
</p>
84 <h2><a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
85 <a id=
"report" name=
"report">Створення звіту про помилку
</a></h2>
86 <p>Перед тим, як повідомити про помилку, будь ласка
<a href=
"http://dev.haiku-os.org/query?status=new&status=assigned&status=reopened&status=closed&summary=%7Etext+you+want+to+search+for&order=priority">переконайтесь
</a> що вона ще не існує. Ви також можете використати для цього
<a href=
"http://dev.haiku-os.org/search?q=&noquickjump=1&ticket=on">функцію пошуку
</a>.
<br />
87 Після того як Ви встановили що це унікальна помилка постарайтесь зробити інформацію про неї якомога точнішою:
</p>
89 <li><p>Спробуйте відтворити проблему на поточній версії Haiku. Передналаштовані образи для цілей тестування
<a href=
"http://download.haiku-os.org">доступні
</a> в інтернеті.
</p></li>
90 <li><p>Повідомте основну інформацію про те як Ви тестуєте Haiku (на реальному залізі, у VMWare, у QEMU і тд).
</p></li>
91 <li><p>Уточніть з якою версією Ви працюєте. Інформацію про це можна знайти у пункті меню Deskbar'а
<span class=
"menu">Про Haiku... (About Haiku...)
</span>. Також вкажіть вид збірки Haiku (gcc2, gcc4, gcc2hybrid, gcc4hybrid), яка тестується. Стягнуті з мережі образи відповідно проіменовані, у випадку самостійного збирання Ви повинні знати що збирали.
</p></li>
92 <li><p>Опишіть проблему яка Вас спіткала. Постарайтесь бути якомога точнішим: опишіть реальну поведінку та ту яку Ви очікуєте.
</p></li>
93 <li><p>Опишіть які кроки необхідно виконати для того, щоб натрапити на помилку. Це допоможе розробникам відтворити її.
</p></li>
94 <li><p>Вкладіть всю інформацію яка у Вас є. Якщо це помилка графічного інтерфейсу або помилка одного з додатків спробуйте при можливості зробити знімок екрану натиснувши клавішу
<span class=
"key">PRINT
</span>.
</p></li>
97 <h2><a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
98 <a id=
"app" name=
"app">Помилки у додатках
</a></h2>
99 <p>Коли додаток зазнав краху Ви повинні з вікна повідомлення яке з'явиться викликати відладчик. Відкриється вікно Терміналу з запущеним у ньому gdb (відладчиком GNU).
100 Введіть команду
<span class=
"cli">bt
</span>, Ви створите
"трасування" яке Ви повинні скопіювати повністю (включаючи ту частину, що була у вікні до введення команди
<span class=
"cli">bt
</span>) і прикріпити його до квитка.
</p>
102 <h2><a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
103 <a id=
"server" name=
"server">Помилки у серверах
</a></h2>
104 <p>Коли зазнають краху життєво важливі сервери такі як: app server, registrar або input server Ви не побачите звичного попередження про аварію. Замість нього екран очиститься стане білим та стартує сесія відладчика gdb, його вихід з'явиться безпосередньо на екрані. Можливо Ви надалі зможете рухати курсором мишки який затиратиме на екрані біле тло та рядки виводу відладчика. Працюючі додатки (такі як, наприклад, ProcessController або годинник в Deskbar) також можуть малювати поверх виведення відладчика на екрані.
<br />
105 До того ж, все буде виглядати так само незграбно та жахливо як і при помилках додатків. Найважливіше тепер отримати зворотнє трасування (командою
<span class=
"cli">bt
</span>). Ви можете зробити знімок екрану цифровою камерою, бо текст gdb скоріше всього скопіювати не вдасться.
<br />
106 В залежності від того що зазнало краху можна спробувати зберегти звіт про помилку на робочому столі ввівши команду
<span class=
"cli">save-report
</span>, а після цього натиснути кнопку живлення один раз щоб спробувати акуратно завершити роботу.
</p>
108 <h2><a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
109 <a id=
"kernel" name=
"kernel">Помилки у ядрі
</a></h2>
110 <p>Помилки ядра звичайно мають найтяжчі наслідки і у то же час дуже важко підаються відладці. Існують різні види симптомів, які, швидше за все, вказують на проблеми ядра або драйвера:
</p>
112 <li><p>Система переходить в режим відладки ядра (KDL) за власною волею. Верхня частині екрану очищається, стає білою і друкуються кілька рядків тексту. Другий рядок говорить:
"<i>Ласкаво просимо на територію відладки ядра... (Welcome to Kernel Debugging Land...)</i>", рядком вище говориться про те що власне стало причиною введення режиму KDL.
</p></li>
113 <li><p>Система перевантажується мимовільно.
</p></li>
114 <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>
115 <li><p>Система не завантажується правильно. Вона може спонтанно перезавантажитися або зупинитися у якийсь момент (наприклад, на якійсь іконці екрану завантаження). В останньому випадку також варто спробувати
<span class=
"key">ALT
</span> <span class=
"key">SysReq
</span> <span class=
"key">D
</span>.
</p></li>
116 <li><p>Вся система або будь-яка частина обладнання поводиться неправильно. Наприклад, все дуже сповільнено, виникають помилки або щось не працює взагалі. Якщо якесь обладнання не працює взагалі, перша очевидна перевірка, чи підтримує Haiku його взагалі на даний момент взагалі (наприклад запитати в списку розсилки або на форумі).
</p></li>
118 <p>Зверніть увагу, що хоча останній пункт і вказує на апаратну проблему всі інші симптоми можуть бути викликані помилкою в драйвері. Якщо у вас є підозра, що частина апаратних засобів або відповідного драйвера, можливо, мають відношення до проблеми, перевірте чи видалення / відключення апаратного забезпечення або драйвера викликає зміни. Наприклад, при підозрі на Wi-Fi може виявитись, що ваш BIOS дає можливість відключити його. Або, якщо не має, то ви могли би додати у чорний список відповідний драйвер Wi-Fi встановленої Вами Haiku (дивись
<a href=
"../../userguide/uk/bootloader.html">Завантажувач системи (Boot Loader)
</a>).
</p>
120 <h3><a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
121 <a id=
"kdl" name=
"kdl">Територія відладки ядра (Kernel Debugging Land) - далі KDL
</a></h3>
122 <p>Якщо система не потрапляє у режим KDL самостійно Ви можете змусити її до цього натискаючи комбінацію клавіш
<span class=
"key">ALT
</span> <span class=
"key">SysReq
</span> <span class=
"key">D
</span>.
<br />
123 Зауважте що у режимі KDL Ваша клавіатура може не працювати. PS/
2 клавіатури працюватимуть завжди, USB клавіатури підключені до контролерів UHCI спрацюють для входу у KDL тільки один раз. Клавіатури USB OHCI на даний момент у цьому режимі не працюють.
</p>
124 <p>Сама KDL є свого роду оболонкою. Можна виконувати команди, які надають інформацію про систему. Можуть бути цікавими наступні команди :
</p>
125 <table summary=
"layout" border=
"0" cellpadding=
"2" cellspacing=
"0">
126 <tr><td><span class=
"cli">bt
</span> (aka sc)
</td><td> </td><td>виводити зворотнє трасування. Якщо система потрапила у KDL за власним бажанням завжди набирайте цю команду.
</td></tr>
127 <tr><td><span class=
"cli">ints
</span></td><td> </td><td>показати оброблені та необроблені переривання апаратного забезпечення.
</td></tr>
128 <tr><td class=
"onelinetop"><span class=
"cli">co
</span> (aka continue)
</td><td> </td><td>залишити територію відладки ядра та продовжити при можливості роботу системи.
</td></tr>
129 <tr><td><span class=
"cli">reboot
</span></td><td> </td><td>негайно перезавантажує систему. Будуть втрачені всі незбережені дані і навіть ті, які були збережені, але ще не були записані назад на диск.
</td></tr>
131 <p>Для детальнішої інформації дивіться статтю
<a href=
"http://www.haiku-os.org/documents/dev/welcome_to_kernel_debugging_land"> Вітаємо на території відладки ядра (Welcome to Kernel Debugging Land)
</a>.
</p>
132 <p>Вихід KDL записується в послідовний порт (якщо у Вашому комп'ютері є такий порт, Ви маєте відповідний кабель та інший комп'ютер, щоб з'єднатися з Вашим, то зможете захопити вихід звідти через термінальну програму) і в системний журнал. Якщо ви не можете залишити KDL він не буде записуватися в файл системного журналу, проте, в налаштуваннях завантажувача є опція, що дозволяє захопити його. (див нижче).
</p>
133 <p>Ви можете генерувати QR-коди з виходу KDL, які потім є можливість перетворити в текст за допомогою смартфонів або аналогічних пристроїв. Дивіться в блозі
<a href=
"http://www.haiku-os.org/blog/mmlr/2012-07-01_qr_encode_your_kdl_output"> QR розшифровує вивід KDL
</a> про те, як отримати дані з KDL за допомогою цієї функції.
</p>
135 <h3><a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
136 <a id=
"syslog" name=
"syslog">Системний журнал (Syslog)
</a></h3>
137 <p><b>Це найкращий спосіб отримати інформацію з системи, що не може завантажитись.
</b><br />
138 Системний журнал (syslog) містить цінну інформацію про те, що сталося у вашій системі, в тому числі вивід сесій KDL. Я правило буде хорошою ідеєю прикріпити її до квитка Trac що описує помилку в ядрі. Системний журнал записується у файл
<span class=
"path">/boot/system/var/log/syslog
</span>. Оскільки запис в файл вимагає робочу систему, при помилці у ядрі остання сесія не може бути записана (особливо при спонтанному перезавантаженні або перерваній сесії KDL).
</p>
139 <p>Опція
<span class=
"menu">Увімкнути відладку системного журналу (Enable debug syslog)
</span> у вікні Завантажувача системи
<span class=
"menu">Меню відладки (Debug menu)
</span> зробить системний журнал стійкішим. Якщо опція
<span class=
"menu">Зберегти системний журнал від попередньої сесії при завантаженні (Save syslog from previous session during boot)
</span> активована (це типове налаштування Завантажувача системи), Ви знайдете системний журнал Вашої останньої сесії як
<span class=
"path">/boot/system/var/log/previous_syslog
</span>.
<br />
140 Якщо ви не в змозі завантажитись, щоб дістатися до системного журналу попередньої сесії, ви повинні увійти в меню завантажувача, утримуючи клавішу
<span class=
"key">SHIFT
</span> при завантаженні.
<br />
141 У пункті Завантажувача системи
<span class=
"menu">Меню відладки (Debug menu)
</span> Ви знайдете записи
<span class=
"menu">Показати системний журнал попередньої сесії (Display syslog from previous session)
</span> та
<span class=
"menu">Зберегти системний журнал попередньої сесії (Save syslog from previous session)
</span>. Перший покаже syslog на екрані, другий дозволить зберегти журнал на диск. Зверніть увагу, що на даний момент підтримуються для збереження файлу тільки томи з файловою системою FAT32. Якщо ви хочете використовувати USB флешку, але підключили її занадто пізно, вона може не розпізнатись, спробуйте перезавантажити машину та знову увійти в меню завантажувача. Примітка: випадково не завантажте будь-яку операційну систему, бо дані системного журналу будуть втрачені.
</p>
143 <h3><a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
144 <a id=
"onscreen" name=
"onscreen">Вивід відладки на екран
</a></h3>
145 <p><b>Вивід відладки на екран буде корисним тільки для відладки дуже специфічних і як відомо має проблеми з синхронізацією. Не використовуйте його якщо це Вам конче не необхідно.
</b><br />
146 Таке актуально лише тоді коли Haiku не завантажується на Вашому комп'ютері і по якійсь причині пункт меню
<span class=
"menu">Відладка системного журналу (Debug syslog option
</span> не працює. Перед появою лого завантаження Haiku натисніть та утримуйте клавішу
<span class=
"key">SHIFT
</span> для того щоб увійти до меню завантажувача. Виберіть пункт
<span class=
"menu">Вибрати параметри безпечного режиму (Select safe mode options)
</span>. Нижче буде вказано
<span class=
"menu">[ ] Увімкнути вивід на екран відладки (Enable on screen debug output)
</span>. (Зауваження: Інші опції будуть увімкнені при спробі завантажити Haiku. Якщо вона буде завантажуватись тільки при активації одної або кількох опцій, вкажіть які з них включені.)
<br />
147 Нарешті виберіть
<span class=
"menu">Повернутись до основного меню (Return to main menu)
</span> а тоді
<span class=
"menu">Продовжити завантаження (Continue booting)
</span>.
<br />
148 На екрані відобразяться одна або кілька сторінок тексту, тільки останніх декілька рядків повинні бути включені до квитка. Більше інформації тут
<a href=
"../../userguide/uk/bootloader.html">Завантажувач системи (Boot Loader)
</a>.
</p>
150 <h2><a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
151 <a id=
"hardware" name=
"hardware">Помилки драйверів апаратного забезпечення
</a></h2>
152 <p>Коли ми маємо справу з помилкою пов'язаною з драйвером апаратного забезпечення, необхідно додати наступну інформацію у вигляді текстових файлів:
</p>
154 <table summary=
"layout" border=
"0" cellpadding=
"2" cellspacing=
"0">
155 <tr><td>-
<span class=
"cli">listdev
</span></td><td> </td><td>детальний список Вашого апаратного забезпечення, включаючи визначники vendor id та pci id, аналогічно Linux'овим командам
<span class=
"cli">lshw
</span> та
<span class=
"cli">lspci
</span>.
</td></tr>
156 <tr><td>-
<span class=
"cli">listusb -v
</span></td><td> </td><td>підсумок всього що зв'язане з USB, аналогічно
<span class=
"cli">lsusb
</span>.
</td></tr>
157 <tr><td>-
<span class=
"cli">open /var/log/syslog
</span></td><td> </td><td>Первинний системний журнал Haiku, щось подібне до екранного виводу відладки при завантаженні. За допомогою команди
<span class=
"cli">open
</span> Ви зможете вирізати потрібну частину в текстовому редакторі.
</td></tr>
158 <tr><td class=
"onelinetop">-
<span class=
"cli">listimage | grep drivers/
</span></td><td> </td><td>перелічує всі драйвери які використовуються.
</td></tr>
159 <tr><td>-
<span class=
"cli">ints
</span></td><td> </td><td>Доступне тільки зсередини
<i>Території відладки ядра (Kernel Debugging Land)
</i> (дивись вище). Показує використання переривань. Не повинно бути занадто багато таких, які спільно використовують різні пристрої.
</td></tr>
160 <tr><td colspan=
"3">- Екранний вивід відладки (On screen debug output) (опція безпечного режиму під час завантаження).
</td></tr>
163 <p>Перші чотири команди вводяться в Терміналі. Додайте
<span class=
"cli"> > output.txt
</span> після команди, і це конвеєрує вивід в текстовий файл з ім'ям
"output.txt", який ви можете прикріпити до зголошення про помилку або до електронного листа.
</p>
165 <h2><a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
166 <a id=
"next" name=
"next">Що далі?
</a></h2>
167 <p>Після зголошення про помилку розробники вивчають її та пробують класифікувати. Пам'ятайте, ми всі добровольці тому зголошення певний час залишатиметься без відповіді. Додавання нової інформації, коли вона стає доступною, як правило, допомагає розв'язати помилку швидше, але не намагайтеся торпедувати її, додаючи
168 нерозшифровувані коментарі.
170 <p>Пам'ятайте, повідомлення про помилку не те, що ви витратити трохи часу на нього, та потім зробили. Якщо Ви повідомили про помилку, то стаєте частиною процесу розробки Haiku. Розробники можуть звернутися з запитаннями при намаганні виправити помилку. Будь ласка, залишайтеся поруч, щоб відповісти на них. Розглянемо Вашу участь у
"Готово", коли помилка буде позначена як
"пофіксена".
</p>
176 <div class=
"inner"><span>
177 <a href=
"../welcome_uk.html" class=
"uplink">Welcome
</a>