<p>Comme il est impossible pour nos développeurs de tester toutes les combinaisons de matériel, ni tous les cas de figure pouvant interagir avec le système d'exploitation, nous comptons sur les utilisateurs pour nous dire si les choses fonctionnent pour eux. puisque Haiku est encore tout jeune, il est très probable que vous rencontriez des bogues. Nous vous remercions de bien vouloir prendre le temps de nous les signaler. Ensemble, nous pourrons, petit à petit, améliorer Haiku.</p>
<p>Afin que le suivi de nos bogues reste efficace, il est essentiel de respecter l'<ahref="http://dev.haiku-os.org/wiki/BugTrackerEtiquette">Étiquette de suivi des bogues</a>.</p>
<p>Pour remplir un rapport (ticket), vous aurez besoin d’un compte utilisateur sur le <ahref="http://dev.haiku-os.org/register"title="Traqueur de bogues de Haiku">Traqueur de bogues de Haiku</a>.<br/>
Lors de la création d’un nouveau compte, pensez à <b>indiquer votre adresse e-mail</b> afin d’obtenir les privilèges basiques de gestions des tickets. N’oubliez pas de <b>Vérifier votre dossier de pourriel</b> après, car les e-mails de vérifications s’y retrouvent souvent.</p>
<p>Avant de rapporter un bogue, veuillez <ahref="http://dev.haiku-os.org/query?status=new&status=assigned&status=reopened&status=closed&summary=%7Etext+you+want+to+search+for&order=priority">vérifier</a> qu’il n’est pas déjà répertorié. Vous pouvez aussi utiliser la <ahref="http://dev.haiku-os.org/search?q=&noquickjump=1&ticket=on">fonction de recherche</a> pour cela.<br/>
Après vous être assuré que votre bogue est unique, obtenez des informations précises sur votre environnement:</p>
<li><p>Essayez de reproduire votre problème avec la version actuelle d'Haiku. Des <ahref="http://haiku-files.org/">images préfabriqués</a> sont disponible à cet usage.</p></li>
<li><p>Indiquez quelle révision <acronymtitle="Subversion, le système de gestion de code source que nous utilisons">SVN</acronym> de Haiku vous utilisez. Vous pouvez trouver cette information dans le menu « <i>About This System…</i> » de la Deskbar.
N'oubliez pas de mentionner de quel type de construction est issu le système Haiku que vous testez (gcc2, gcc4, gcc2hybrid, gcc4hybrid).
Les images téléchargeables sont nommés en conséquence. Si vous avez construit l'image vous-même, vous devriez savoir comment vous l'avez compilé.</p></li>
<li><p>Décrivez le problème que vous rencontrez. soyez aussi précis que possible : décrivez le comportement réel, et celui que vous attendiez.</p></li>
<li><p>Attachez au rapport le plus d’informations possibles. Si le bogue concerne l’interface graphique ou une application, essayez de faire une capture d’écran à l'aide de la la touche <spanclass="key">IMPRÉCRAN</span>.</p></li>
<p>Lorsqu'une application se plante, vous devez appeler le débogueur depuis le message d'alerte qui s'affiche.
Une fenêtre de Terminal devrait s'ouvrir avec gdb (le débogueur GNU) lancé à l'intérieur.
En saisissant <spanclass="cli">bt</span>, vous obtiendrez ainsi une trace de la « pile d'appel » (<i>backtrace</i>) que vous devez joindre en intégralité (y compris la partie précédant l'appel à la commande <spanclass="cli">bt</span>) à votre rapport de bogue.</p>
<aid="server"name="server">Bogues dans les serveurs</a></h2>
<p>When vital servers like the app server, the registrar or the input server crash, you won't see the usual crash alert. Instead the whole screen will be cleared white and a gdb session will be started, its output appearing directly on screen. Likely you will still be able to move the mouse, which will overwrite the white and gdb output on screen. Applications still running (like ProcessController or the clock in the Deskbar) might also draw over the debugger output on screen.<br/>
Besides everything being more ugly and inconvenient, basically the same applies as for application bugs. Most importantly procure a back trace (<spanclass="cli">bt</span> command). You may need to take a picture of the screen with a digital camera, since you won't be able to copy the text anywhere.</p>
<aid="kernel"name="kernel">Bogues du noyau</a></h2>
<p>Les bogues du noyau sont habituellement ceux qui ont les effets les plus graves, tout en étant les plus difficiles à déboguer. Il existe différents types de symptômes, qui révèlent généralement un problème du noyau ou d'un pilote :</p>
<li><p>The system enters kernel debugging land (KDL) on its own volition. The upper part of the screen is cleared white and several lines of text are printed on it. The second line says "<i>Welcome to Kernel Debugging Land...</i>", the one above it states the immediate reason for entering KDL.</p></li>
<li><p>Le système redémarre spontanément.</p></li>
<li><p>The system freezes completely. You can't move the mouse and no application draws anything anymore. An important test in that situation is, whether you still can enter KDL via the shortcut <spanclass="key">ALT</span><spanclass="key">SysReq</span><spanclass="key">D</span> (<spanclass="key">SysReq</span> being <spanclass="key">PRINT</span> on most keyboards). Wait at least a minute to see, if anything happens.</p></li>
<li><p>Le système ne démarre pas correctement. Il peut redémarrer spontanément ou s'arrêter à un moment donné (par exemple au niveau d'une icône de l'écran de démarrage). Dans ce dernier cas vous pouvez essayer aussi <spanclass="key">ALT</span><spanclass="key">SysReq</span><spanclass="key">D</span>.</p></li>
<li><p>The whole system or some piece of hardware doesn't behave correctly. For example, it could be very slow, errors occur, or something doesn't work at all. If some hardware doesn't work at all, the first obvious check is whether Haiku supports it at all at the moment (e.g. ask on a mailing list or a forum).</p></li>
<p>Note that while only the last point seems to indicate hardware relation, all the other symptoms could be caused by a bug in a hardware driver as well. If you have a suspicion what piece of hardware or corresponding driver might have to do with the problem, check whether removing/disabling the hardware or the driver makes a difference. For example, if you suspect Wifi you may find that your BIOS has an option to disable it. Or if not, you could remove the responsible Wifi driver from your Haiku installation (in <spanclass="path">/boot/system/add-ons/kernel/drivers/bin</span>).</p>
<p>Si le système n'entre pas de lui même en mode déboguage du noyau (KDL) vous pouvez le faire volontairement en invoquant le raccourci clavier <spanclass="key">ALT</span><spanclass="key">Syst</span><spanclass="key">D</span> Attention : l'ordre des touches compte (<spanclass="key">SYST</span> correspond à <spanclass="key">Impr Écran</span> sur la plupart des claviers).
Notez bien que votre clavier pourrait ne pas fonctionner en mode déboguage du noyau. Alors que les claviers PS/2
ne posent pas de problème, les claviers USB connecté à un controleur UHCI ne fonctionne que si vous être entré au moins une fois en mode débogage à l'aide du raccourci clavier. Pour le moment l'USB OHCI n'est pas supporté.</p>
<p>KDL est, par lui-même, une sorte d'interpréteur de commande. On peut exécuter des instructions pour afficher des informations sur le système. Les commandes suivantes pourraient vous intéresser :</p>
<tr><td><spanclass="cli">bt</span> (alias sc)</td><td></td><td>Affiche une trace de débogage (backtrace), Faites systematiquement cette commande quand le système entre dans le débogueur de lui même.</td></tr>
<tr><td><spanclass="cli">ints</span></td><td></td><td>Affichera les interruptions matérielles qui sont gérées, ainsi que celles qui sont ignorées.</td></tr>
<tr><tdclass="onelinetop"><spanclass="cli">co</span> (alias continue)</td><td></td><td>Quitte le débogueur pour reprendre, si possible, les opérations normales du système.</td></tr>
<tr><td><spanclass="cli">reboot</span></td><td></td><td>Redémarre le système immédiatement. Vous perdrez toutes les données non enregistrées, ainsi que celles qui ont été enregistrés, mais qui n'ont pas encore été écrites sur le disque.</td></tr>
</table>
<p>Pour plus d'information, consultez l'article <ahref="http://www.haiku-os.org/documents/dev/welcome_to_kernel_debugging_land">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><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 <spanclass="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 <spanclass="menu">Enable debug syslog</span> in the boot loader's <spanclass="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 <spanclass="key">SHIFT</span> while booting.<br/>
In the boot loader's <spanclass="menu">Debug menu</span> you should now find the entries <spanclass="menu">Display syslog from previous session</span> and <spanclass="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>
<aid="onscreen"name="onscreen">Les sorties écran du débogueur</a></h3>
<p><b>The on-screen debug output is useful only for debugging very specific issues and is known to have (timing) issues. Don't use it, if you don't have to.</b><br/>
This is only relevant when Haiku fails to boot on your machine and the <spanclass="menu">Debug syslog option</span> doesn't work for some reason. Before the Haiku boot logo appears, hold <spanclass="key">SHIFT</span> to enter the boot loader menu. Select <spanclass="menu">Select safe mode options</span>. Near the bottom, <spanclass="menu">[ ] Enable on screen debug output</span> will be listed. (Note: The other options could be enabled in an attempt to boot Haiku. If Haiku will boot only when one or more options are activated, be sure to mention which ones.)<br/>
Finally select <spanclass="menu">Return to main menu</span> and then <spanclass="menu">Continue booting</span>.<br/>
One or more pages of text will display on the screen, only the last few lines need to be included on your ticket. There's more information on the <ahref="../../../userguide/fr/bootloader.html">Boot Loader</a>.</p>
<tr><td>- <spanclass="cli">listdev</span></td><td></td><td>Fait une liste détaillée de votre matériel, en y incluant les identifiants des périphériques PCI et de leurs fabriquants, à la manière de <spanclass="cli">lshw</span> ou <spanclass="cli">lspci</span> dans GNU/Linux.</td></tr>
<tr><td>- <spanclass="cli">listusb -v</span></td><td></td><td>Fait comme <spanclass="cli">lsusb</span> en supposant que c'est un problème lié à l'USB.</td></tr>
<tr><td>- <spanclass="cli">open /var/log/syslog</span></td><td></td><td>Le journal système principal utilisé par Haiku, semblable à celui de l'écran de débogage pendant le démarrage. Avec la commande <spanclass="cli">open</span>, vous pouvez modifier ce journal dans un éditeur de texte pour n'en conserver que la partie la plus pertinente.</td></tr>
<tr><tdclass="onelinetop">- <spanclass="cli">listimage | grep drivers/</span></td><td></td><td>Liste tous les drivers utilisés.</td></tr>
<tr><td>- <spanclass="cli">ints</span></td><td></td><td>Seulement disponible dans le <i>mode débogage du noyau</i> (voir ci-dessous). Montre l'utilisation des interruptions.
Il ne devrait pas y avoir trop d'interruptions partagées par plusieurs périphériques.</td></tr>
<tr><tdcolspan="3">- Les sorties écran du débogueur (une option de mode sans échec du démarrage).</td></tr>
</table>
<p>Les 4 premières commandes sont à exécuter dans le Terminal. Si vous ajoutez <spanclass="cli">> sortie.txt</span> après une commande, sa sortie sera redirigée dans un fichier texte nommé «sortie.txt» que vous pourrez attachez à votre rapport de bogue ou e-mail.</p>
<p>Une fois le bogue rapporté, un développeur le consultera et essayera de le cataloguer. Retenez que tous les développeurs sont des volontaires; un long délai avant réponse peut s’écouler après le rapport de bogue. L’ajout de nouvelles informations une fois celles-ci disponibles peut généralement permettre à un bogue d’être analysé plus rapidement. Néanmoins, n’essayez pas de «faire remonter» un bogue en ajoutant des commentaires non pertinents.</p>
<p>N’oubliez pas, le rapport d’un bogue ne se limite pas à sa soumission. Une fois cette tâche faite, vous ferez partie du processus de développement de Haiku. Les développeurs pourront vous poser des question pour essayer de résoudre votre bogue. Merci de rester disponible pour y répondre. Vous pourrez considérer votre travail «terminé» quand le bogue sera marqué comme étant « corrigé ».</p>