<p>Viodût che i nestris disvilupadôrs no rivin a provâ dutis lis cumbinazions di hardware, ni ogni diferente maniere di interagjî cul sisteme operatîf, o fasìn afidament ai utent par otignî cualchi informazion su cemût che al funzione de lôr bande. Viodût che Haiku al è ancjemò zovin, al è facil che tu cjatarâs erôrs. Ti ringraciìn se tu pierdis un pôc di timp tal segnalâju. Adun o podìn miorâ Haiku, un pôc a la volte.</p>
<p>Par tignî il nestri sisteme di segnalazion erôrs eficient, al è fondamentâl rispietâ la <ahref="http://dev.haiku-os.org/wiki/BugTrackerEtiquette">Etichete pe segnalazion erôrs</a>.</p>
<p>Par vierzi un cartelin, ti covente vê un account su <ahref="http://dev.haiku-os.org/register"title="Register at Haiku's Bugtracker">Segnalazion erôrs di Haiku</a>.<br/>
Cuant che tu creis un gnûf account, controle di <b>indicâ la tô direzion e-mail</b> viodût che e je necessarie par otignî i privileçs di base pe modifiche dai cartelins. Subite dopo, siguriti di <b>controlâ la cartele de pueste malvolude</b>, viodût che dute la pueste di verifiche impuartante dispès a finìs lì.</p>
<p>Prime di segnalâ un erôr, par plasê <ahref="http://dev.haiku-os.org/query?status=new&status=assigned&status=reopened&status=closed&summary=%7Etext+you+want+to+search+for&order=priority">controle</a> che nol esisti za. Tu puedis ancje doprâ la funzion <ahref="http://dev.haiku-os.org/search?q=&noquickjump=1&ticket=on">cîr</a> par fâlu.<br/>
Dopo vê apurât che al è un erôr unic, furnìs lis informazions tal mût plui precîs pussibil:</p>
<li><p>Cîr di riprodusi il probleme te revision corinte di Haiku. Lis imagjins pre-compiladis par finalitâts di prove a son<ahref="http://download.haiku-os.org">disponibilis</a> in rêt.</p></li>
<li><p>Inclût informazions di base su cemût che tu stâs provant Haiku (su hardware reâl, su VMWare, su QEMU e v.i.).</p></li>
<li><p>Nomene cuale revision tu stâs eseguint. Tu puedis cjatâ cheste informazion in <spanclass="menu">Informazions su Haiku...</span> dal menù dal Deskbar. Nomene ancje ce gjenar di compilazion di Haiku tu stâs provant (x86_gcc2, x86_64). Lis imagjins discjamabilis a son clamadis in acuardi, pe imagjin compilade di bessoi tu âs di savê cemût che tu le âs compilade.</p></li>
<li><p>Descrîf il probleme che tu stâs riscontrant. Cîr di jessi il plui precîs pussibil: descrîf il compuartament atuâl e ce che tu ti spietavis.</p></li>
<li><p>Descrîf lis azions che si scugne eseguî par podê fâ vignî fûr l'erôr. Chest al judarà i svilupadôrs a riprodusi l'erôr.</p></li>
<li><p>Zonte plui informazions pussibilis a tô disposizion. Se al è un erôr de interface utent grafiche (GUI), o un erôr in une des aplicazions, cîr di caturâ une videade fracant il tast <spanclass="key">STAMPE</span>.</p></li>
<p>Cuant che une aplicazion e colasse, tu puedis o salvâ un rapuart o scrivi un file cul stât de memorie (ducj i doi salvâts sul Scritori) che tu puedis zontâ ae tô segnalazion di erôr, opûr tu puedis evocâ il <ahref="../../userguide/fur/applications/debugger.html">Debugger</a>.</p>
<p>Se nol è un erôr che al cause un colàs, tu podaressis cjatâ utilis informazions l'inviament dal program midiant il Terminâl. Cualchi aplicazion e furnìs cualchi regjistri e altris opzions se inviade cun cierts parametris; prove <tt>-h</tt> o <tt>--help</tt> se chel al è il câs. Come esempli, viôt i diferents nivei di regjistrazion-events di <ahref="../../userguide/fur/applications/haikudepot.html#logs">HaikuDepot</a>.</p>
<p>Cuant che servidôrs vitâi come il servidôr des aplicazions (app server), il registrar o il servidôr des jentradis (input server) a colassin, no tu viodarâs il solit avîs di colàs. Invezit il schermi intîr al deventarà blanc e al vignarà inviât il Debugger in modalitât test, cul so output che al ven fûr dret sul schermi. Al è probabil che tu rivarâs ancjemò a movi il mouse, chest al sorescrivarà il blanc e l'output dal Debugger su schermi. Lis aplicazions che a son ancjemò in esecuzion (come Controlôr dai procès o l'orloi tal Deskbar) a podaressin ancje chei dissegnâ parsore de jessude su schermi dal debugger.<br/>
Ancje se dut al è plui brut e scomut, in pratiche si aplichin i stes concets pai erôrs des aplicazions. La robe plui impuartante e je chê di procurâ un "back trace" (comant <spanclass="cli">bt</span>). Ti podarès coventâ une imagjin dal schermi fate cuntune fotocjamare digjitâl, viodût che no tu rivarâs a copiâ il test di nissune bande.<br/>
In base a ce che al è colassât di precîs, tu puedis provâ a salvâ un rapuart di colàs sul Scritori cun <spanclass="cli">save-report</span> o <spanclass="cli">write-core</span> par vê un file cul stât de memorie, e dopo fracâ il boton di alimentazion une volte, par cirî di distudâ il sisteme in maniere sigure e nete. Se il boton di alimentazion nol funzione, a son ancje i comants <spanclass="cli">shutdown</span> e <spanclass="cli">reboot</span>.</p>
<p>I erôrs dal kernel a son di solit chei cui efiets plui pesants e tal stes timp plui dificii pal debug. Si àn plui gjenars di segnâi, che pe plui part des voltis a indichin a un probleme di kernel o di driver:</p>
<li><p>Il sisteme al jentre tal "kernel debugging land" (trad. tiere di debug dal nuclei) (KDL) di sô spontanie volontât. La part superiôr dal schermi e ven netade vie e colorade di blanc, e diviersis riis di test a vegnin stampadis parsore. La seconde rie e dîs "<i>Welcome to Kernel Debugging Land...</i>", chê parsore e declare la reson imediade pe jentrade tal KDL.</p></li>
<li><p>Il sisteme si torne a inviâ di bessôl.</p></li>
<li><p>Il sisteme si bloche dal dut. No tu rivis a spostâ il mouse e nissune aplicazion e rive plui a dissegnâ alc. Une prove impuartante in chê situazion e je chê di provâ a viodi se tu rivis ancjemò a jentrâ tal KDL midiant la scurte <spanclass="key">ALT</span><spanclass="key">SysReq</span><spanclass="key">D</span> (<spanclass="key">SysReq</span> al sarès <spanclass="key">STAMPE</span> te plui part des tastieris). Spietâ almancul un minût par viodi se al sucêt alc.</p></li>
<li><p>Il sisteme no si invie ben. Al podarès tornâ a inviâsi di bessôl o fermâsi in cualchi pont (p.e. a cualchi icone de schermade di inviament). In chest ultin câs prove ancje <spanclass="key">ALT</span><spanclass="key">SysReq</span><spanclass="key">D</span>.</p></li>
<li><p>Dut il sisteme o cualchi toc di hardware no si compuarte te maniere juste. Par esempli, al podarès jessi masse lent, a capitin erôrs, o alc nol funzione dal dut. Se cualchi hardware nol funzione dal dut, il prin control naturâl di fâ al è viodi se Haiku lu supuarte dal dut, pal moment (p.e. domande te mailing list o sul forum).</p></li>
<p>Fâs câs che ancje se dome l'ultin pont al somee indicâ une corelazion cul hardware, ducj chei altris sintoms a puedin jessi causâts ancje di un erôr intun driver dal hardware. Se tu âs il suspiet su cuâl toc di hardware o cuâl driver corispondent al podarès vê a ce fâ cul probleme, controle se al cambie alc a gjavâ/disabilitâ l'hardware o il driver. Par esempli, se tu âs suspiets sul Wifi tu podaressis cjatâ che il to BIOS al à une opzion par disabilitâlu. In câs contrari, tu puedis meti te liste-nere (blacklist) il driver dal Wifi responsabil de tô instalazion di Haiku (viôt <ahref="../../userguide/fur/bootloader.html">Il Boot Loader</a>).</p>
<p>Se il to sisteme nol è jentrât tal KDL di bessôl, tu puedis fâlu intenzionalmentri doprant la scurte di tastiere <spanclass="key">ALT</span><spanclass="key">SysReq</span><spanclass="key">D</span> (di solit <spanclass="key">SysReq</span> al è il tast <spanclass="key">Stampe</span>).<br/>
Note che al è pussibil che in KDL la tô tastiere no funzioni. Lis tastieris PS/2 a van simpri, cu lis tastieris USB al dipent dal gjenar di controlôr (controller) USB (UHCI/EHCI). In gjenerâl, si varès di colegâ la tastiere suntune puarte dal computer, no midiant hubs usb. In cualchi circostanze, la tastiere e funzione dome se un al è jentrât tal KDL almancul une volte midiant la scurte di tastiere. Pal moment l'USB OHCI nol è supuartât.</p>
<p>Il stes KDL al è une specie di shell. Un al pues eseguî comants che a stampin informazions sul sisteme. A son interessants chescj comants:</p>
<tr><td><spanclass="cli">bt</span> (cognossût come <spanclass="cli">sc</span>)</td><td></td><td>Al stampe un "back trace" (cognossût ancje come stack crawl e tradot come usme). Se il sisteme al è jentrât tal KDL di sô spontanie volontât, di solit al ven stampât in automatic un "back trace" (une usme). Scrîf il comant se nol è sucedût o se une part de usme e je stade taponade (p.e. cuant che la usme e je masse lungje e e scor vie). La tô uniche maniere di furnî informazions ai disvilupadôrs e je chê di caturâ une videade dal schermi.</td></tr>
<tr><td><spanclass="cli">ints</span></td><td></td><td>Al mostre i interrupts (interuzions) hardware gjestîts e no-gjestîts.</td></tr>
<tr><tdclass="onelinetop"><spanclass="cli">co</span> (cognossût come <spanclass="cli">continue</span>)</td><td></td><td>Al lasse il debugger dal kernel e al continue la normâl operazion dal sisteme, se pussibil.</td></tr>
<tr><td><spanclass="cli">reboot</span></td><td></td><td>Al torne a inviâ il sisteme daurman. Tu pierdarâs ducj i dâts no salvâts e ancje chei che tu âs salvât ma no son stâts ancjemò scrits sul disc.</td></tr>
<p>Par vê plui informazions, viôt l'articul <ahref="http://www.haiku-os.org/documents/dev/welcome_to_kernel_debugging_land">Welcome to Kernel Debugging Land</a>.</p>
<p>L'output dal KDL al ven scrit su la puarte seriâl (se tu'nd âs une, tu âs un relatîf cabli e un secont computer dulà conetilu, tu puedis caturâ la jessude lì, vie program di terminâl) e sul syslog. Però, se no tu rivis a jessî fûr dal KDL, nol vignarà scrit sul file syslog. E je une opzion di debug dal boot loader che ti permet di caturâlu distès (viôt chi sot).</p>
<p>Tu puedis gjenerâ i codiçs QR dal output di KDL, che al pues vignî convertît in test doprant i celulârs o altris dispositîfs simii. Viôt il post dal blog <ahref="http://www.haiku-os.org/blog/mmlr/2012-07-01_qr_encode_your_kdl_output">QR Encode your KDL Output</a> su cemût otignî i dâts dal KDL doprant cheste funzionalitât.</p>
<p><b>Chest al è il metodi preferît par tirâ fûr informazions di un sisteme che no si invie.</b><br/>
Il syslog (scurte di system log, vâl a dî regjistri di sisteme) al conten informazions preciosis in merit a ce che al è sucedût tal to sisteme, includûts i outputs des sessions di KDL. Di solit e je une buine idee chê di zontâlu al relatîf cartelin su Trac. Il syslog al ven scrit sul file <spanclass="path">/boot/system/var/log/syslog</span>. Viodût che la scriture suntun file e necessite di un sisteme funzionant, la jessude plui resinte e podarès no stâ sul syslog cuant che al capite un probleme sul kernel (in particolâr cuant che il computer al torne a inviâsi di bessôl opûr sessions KDL che no ti permetin di continuâ).</p>
<p>La opzion <spanclass="menu">Enable debug syslog</span> tal menù <spanclass="menu">Debug menu</span> dal boot loader al rint persistent il regjistri di sisteme. Se la opzion <spanclass="menu">Save syslog from previous session during boot</span> e ven ativade intes opzions dal boot loader (come che e je la impostazion predefinide), tu cjatarâs il syslog de tô ultime session come <spanclass="path">/boot/system/var/log/previous_syslog</span>.<br/>
Se no tu rivis a inviâ il sisteme par otignî il previous_syslog, tu âs di jentrâ tal menù dal boot loader tignint fracât <spanclass="key">MAIUSC</span> (o <spanclass="key">SPAZI</span> se tu inviis il sisteme midiant UEFI) intant che tu inviis il computer.<br/>
Tal <spanclass="menu">Debug menu</span> dal boot loader tu varessis di cjatâ lis vôs <spanclass="menu">Display syslog from previous session</span> e <spanclass="menu">Save syslog from previous session</span>. Il prin al mostre sul schermi il regjistri di sisteme, l'ultin ti permet di salvâlu come file su disc. Note che pal moment a son supuartâts pal salvament dal file dome i volums FAT32. Se tu desideris doprâ une clavute USB, ma tu le âs tacade masse tart e duncje no je stade ancjemò ricognossude, tu puedis tornâ a inviâ la machine e tornâ a jentrâ tal menù dal boot loader. Atenzion: No sta inviâ nissun sisteme operatîf o i dâts a laran pierdûts.</p>
<p><b>La jessude su schermi dal debug e je utile dome par fâ il debug di cualchi specific probleme e si sa che al à problemis (di temporizazion). No sta doprâlu, se no tu scugnis.</b><br/>
Chest al è impuartant cuant che Haiku nol rive a inviâsi te tô machine e la opzion <spanclass="menu">Debug syslog</span> no funzione par cualchi motîf. Prime che al vegni fûr il logo di inviament di Haiku, ten fracât <spanclass="key">MAIUSC</span> (o <spanclass="key">SPAZI</span> se tu inviis il sisteme midiant UEFI) par jentrâ tal menù dal boot loader. Selezione <spanclass="menu">Select debug options</span>. In bas al sarà listât <spanclass="menu">Enable on screen debug output</span>. (Note: a puedin jessi abilitadis altris opzions tal tentatîf di inviâ Haiku. Se Haiku si inviarà dome cuant che une o plui opzions a son ativadis, impensiti di nomenâ cualis.)<br/>
Intal ultin selezione <spanclass="menu">Return to main menu</span> e dopo <spanclass="menu">Continue booting</span>.<br/>
Une o plui pagjinis di test a vignaran visualizadis sul schermi, al covente includi dome lis ultimis riis sul to cartelin. Altris informazions a son su <ahref="../../userguide/fur/bootloader.html">Il Boot Loader</a>.</p>
<tr><td>- <spanclass="cli">listdev</span></td><td></td><td>Une liste detaiade dal tô hardware, includûts l'ID dal PCI, come su Linux' <spanclass="cli">lshw</span> e <spanclass="cli">lspci</span>.</td></tr>
<tr><td>- <spanclass="cli">listusb -v</span></td><td></td><td>Metint che al sedi un probleme relatîf al USB, simil a <spanclass="cli">lsusb</span>.</td></tr>
<tr><td>- <spanclass="cli">open /var/log/syslog</span></td><td></td><td>Il regjistri di sisteme primari doprât di Haiku, viôt <ahref="#syslog">Syslog</a> parsore, simil al debug su schermi dilunc l'inviament dal sisteme. Cul comant <spanclass="cli">open</span> tu puedis ritaiâ la part interessade dal syslog intun editôr di tescj.</td></tr>
<tr><tdclass="onelinetop">- <spanclass="cli">listimage | grep drivers/</span></td><td></td><td>Al liste ducj i drivers doprâts.</td></tr>
<tr><td>- <spanclass="cli">usb_hid_report</span></td><td></td><td>Tal câs di dispositîfs di input USB, zonte il file <spanclass="cli">/tmp/usb_hid_report_descriptor_*.bin</span> .</td></tr>
<tr><td>- <spanclass="cli">ints</span></td><td></td><td>Disponibil dome dentri dal <i>Kernel Debugging Land</i> (viôt parsore). Al mostre l'utilizazion dal interrupt. No'ndi varessin di sei masse di chei condividûts tra dispositîfs diferents.</td></tr>
<tr><tdcolspan="3">- Jessude su schermi dal debug (une opzion relative al debug che tu puedis ativâ al moment dal inviament, viôt <ahref="#onscreen">parsore</a>).</td></tr>
<p>I prins cuantri comants a vegnin scrits intal Terminâl. Zonte un <spanclass="cli">> output.txt</span> dopo di un comant, e al ven incanalât intun file di test clamât "<tt>output.txt</tt>" che tu puedis zontâ ae tô segnalazion di erôr o te e-mail.</p>
<p>Dopo che l'erôr al ven segnalât, un disvilupadôr al viodarà dal to erôr e al cirarà di classificâlu. Visiti, o sin ducj volontaris, e duncje, cualchi volte, une segnalazion di erôr e podarès restâ cence rispueste par un pôc. Zontant gnovis informazions, cuant che tu lis âs disponibilis, di solit al jude a fâ in mût che un erôr al vegni cjapât in man plui adore, ma no sta cirî di cjapâ il puest zontant coments che no descrivin nuie.</p>
<p>Visiti che segnalâ un erôr nol è alc che ti fas pierdi un pôc di timp e al finìs dut lì. Se tu âs segnalât un erôr, alore tu sês part dal procès di disvilup di Haiku. I svilupadôrs a podaressin presentâ domandis intant che a cirin di comedâ il to erôr. Par plasê, reste in zone par rispuindiur. Considere la tô partecipazion 'completade' cuant che l'erôr al ven segnât come 'fixed' (tradot comedât).</p>