Segnalazion erôrs
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.
Par tignî il nestri sisteme di segnalazion erôrs eficient, al è fondamentâl rispietâ la Etichete pe segnalazion erôrs.
Otignî un account Trac
Par vierzi un cartelin, ti covente vê un account su Segnalazion erôrs di Haiku.
Cuant che tu creis un gnûf account, controle di indicâ la tô direzion e-mail viodût che e je necessarie par otignî i privileçs di base pe modifiche dai cartelins. Subite dopo, siguriti di controlâ la cartele de pueste malvolude, viodût che dute la pueste di verifiche impuartante dispès a finìs lì.
Creâ une segnalazion di erôr
Prime di segnalâ un erôr, par plasê controle che nol esisti za. Tu puedis ancje doprâ la funzion cîr par fâlu.
Dopo vê apurât che al è un erôr unic, furnìs lis informazions tal mût plui precîs pussibil:
Cîr di riprodusi il probleme te revision corinte di Haiku. Lis imagjins pre-compiladis par finalitâts di prove a son disponibilis in rêt.
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.).
Nomene cuale revision tu stâs eseguint. Tu puedis cjatâ cheste informazion in
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.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.
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.
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 STAMPE.
Erôrs des aplicazions
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 Debugger.
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 -h o --help se chel al è il câs. Come esempli, viôt i diferents nivei di regjistrazion-events di HaikuDepot.
Erôrs dai servidôrs
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.
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 bt). 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.
In base a ce che al è colassât di precîs, tu puedis provâ a salvâ un rapuart di colàs sul Scritori cun save-report o write-core 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 shutdown e reboot.
Erôrs dal kernel
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:
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 "Welcome to Kernel Debugging Land...", chê parsore e declare la reson imediade pe jentrade tal KDL.
Il sisteme si torne a inviâ di bessôl.
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 ALT SysReq D (SysReq al sarès STAMPE te plui part des tastieris). Spietâ almancul un minût par viodi se al sucêt alc.
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 ALT SysReq D.
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).
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 Il Boot Loader).
Kernel Debugging Land - KDL
Se il to sisteme nol è jentrât tal KDL di bessôl, tu puedis fâlu intenzionalmentri doprant la scurte di tastiere ALT SysReq D (di solit SysReq al è il tast Stampe).
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.
Il stes KDL al è une specie di shell. Un al pues eseguî comants che a stampin informazions sul sisteme. A son interessants chescj comants:
bt (cognossût come sc) | 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. | |
ints | Al mostre i interrupts (interuzions) hardware gjestîts e no-gjestîts. | |
co (cognossût come continue) | Al lasse il debugger dal kernel e al continue la normâl operazion dal sisteme, se pussibil. | |
reboot | 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. |
Par vê plui informazions, viôt l'articul Welcome to Kernel Debugging Land.
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).
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 QR Encode your KDL Output su cemût otignî i dâts dal KDL doprant cheste funzionalitât.
Syslog
Chest al è il metodi preferît par tirâ fûr informazions di un sisteme che no si invie.
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 /boot/system/var/log/syslog. 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â).
La opzion /boot/system/var/log/previous_syslog.
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 MAIUSC (o SPAZI se tu inviis il sisteme midiant UEFI) intant che tu inviis il computer.
Tal dal boot loader tu varessis di cjatâ lis vôs e . 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.
Jessude su schermi dal debug
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.
Chest al è impuartant cuant che Haiku nol rive a inviâsi te tô machine e la opzion no funzione par cualchi motîf. Prime che al vegni fûr il logo di inviament di Haiku, ten fracât MAIUSC (o SPAZI se tu inviis il sisteme midiant UEFI) par jentrâ tal menù dal boot loader. Selezione . In bas al sarà listât . (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.)
Intal ultin selezione e dopo .
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 Il Boot Loader.
Erôrs dal hardware/driver
Cuant che tu âs a ce fâ un erôr relatîfs al hardware/driver, tu varessis di zontâ chestis informazions tant che files di test:
- listdev | Une liste detaiade dal tô hardware, includûts l'ID dal PCI, come su Linux' lshw e lspci. | |
- listusb -v | Metint che al sedi un probleme relatîf al USB, simil a lsusb. | |
- open /var/log/syslog | Il regjistri di sisteme primari doprât di Haiku, viôt Syslog parsore, simil al debug su schermi dilunc l'inviament dal sisteme. Cul comant open tu puedis ritaiâ la part interessade dal syslog intun editôr di tescj. | |
- listimage | grep drivers/ | Al liste ducj i drivers doprâts. | |
- usb_hid_report | Tal câs di dispositîfs di input USB, zonte il file /tmp/usb_hid_report_descriptor_*.bin . | |
- ints | Disponibil dome dentri dal Kernel Debugging Land (viôt parsore). Al mostre l'utilizazion dal interrupt. No'ndi varessin di sei masse di chei condividûts tra dispositîfs diferents. | |
- Jessude su schermi dal debug (une opzion relative al debug che tu puedis ativâ al moment dal inviament, viôt parsore). |
I prins cuantri comants a vegnin scrits intal Terminâl. Zonte un > output.txt dopo di un comant, e al ven incanalât intun file di test clamât "output.txt" che tu puedis zontâ ae tô segnalazion di erôr o te e-mail.
Ce sucedial dopo?
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.
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).