Hibakeresés támogatását a rendszermag

A 2. fejezetben azt ajánljuk, hogy lefordítani és telepíteni egy saját rendszermag és nem tartozék fut a kernel, melyet a forgalmazás. Az egyik fő oka, hogy indítsa el a saját kernel, hogy a kernel fejlesztők építettek néhány hibakeresés a kernel maga. Ezek a funkciók is létrehozhat extra teljesítmény és csökkenti a teljesítményt, így gyakran nem szerepel a magok által összegyűjtött forgalmazók. Mivel a fejlesztő a kernel, de van más prioritások és szívesen fogadja a (minimális) általános kiegészítő támogatás a kernel hibakereső.

konfigurációs opció felsorolva itt, amelyeket fel kell venni a magokat, hogy a használt a fejlődés. Hacsak másképp nem jelezzük, az összes ilyen opció a menüben a „kernel hacking” ( „kernel hacking”) minden kernel konfigurációs segédprogramot. Figyeljük meg, hogy ezek közül bármelyik nem támogatja minden architektúrán.

Ez a lehetőség csak akkor áll rendelkezésre teszi egyéb hibakeresési lehetőségeket; fel kell venni, de önmagában nem tartalmazza bizonyos funkciókat.

Ez a fontos paraméter magában többfajta tesztet kernel memória kiosztás feladatokat; Amikor ezek a tesztek képes felismerni memória túllépése és a hiányzó inicializálás. Minden byte memóriát beállítása 0xa5 továbbítás előtt a hívónak, és állítsa 0x6b. amikor megjelent. Ha valaha is látni ezeket a visszatérő „méreg” minták a levezetése a vezető (vagy gyakran nyomtatott Hoppá), akkor pontosan tudja, mit kell keresni a hibákat. A hibakeresési mag is befogadja különleges védelmi értékek előtt és után minden egyes kiválasztott memória tárgy; Ha ezek az értékek megváltoznak, akkor a kernel tudja, hogy valaki hívta ki a memóriából, és azt kifogásolja, hangosan. Ez magában foglalja a különböző ellenőrzések több homályos hibákat.

Ha ez az opció be van kapcsolva, akkor a kernel fogások műveletek inicializált spinlock és más különböző hibák (például a kettős unlock).

Ez az opció lehetővé teszi, hogy ellenőrizze a kísérletek elaludni idején megtartása a spin-lock. Sőt, azt kifogásolja, ha a hívás egy függvényt, amely rendelkezik azzal a potenciállal, hogy elaludni, akkor is, ha a hívás a kérés nem fog aludni.

Jelzett __init (vagy __initdata) után eltávolítjuk a rendszer inicializálása vagy modul terhelést. Ez az opció lehetővé teszi, hogy ellenőrizze a kódot, hogy megpróbálja elérni a használt memória inicializálás során, miután az inicializálás befejeződött.

Ez az opció a kernel kell összeállítani teljes hibakeresési információkat csatolni. Erre akkor lehet szükség, ha információt szeretne a hibakeresés a kernel gdb. Ön is szeretne venni CONFIG_FRAME_POINTER. Ha azt tervezi, hogy a gdb.

Lehetővé teszi a "rendszer SysRq" ( "magic SysRq") gombot. Úgy véljük, ez a gomb a fejezet későbbi részében az „felfüggesztés rendszer”.

Ezek a beállítások segítségével nyomon követheti a kernel stack túlcsordulás. A világos jele verem túlcsordulás Hoppá hirdetések minden előjel nélkül, ésszerű vissza nyoma. Az első lehetőség egészíti ki explicit túlfolyó ellenőrzéseket a kernel; A második okozza a kernel felhasználásának ellenőrzésére a verem és elérhetővé tenni néhány rendelkezésre álló statisztikai rendszeren keresztül kulcsfontosságú SysRq.

Ez az opció (Beállítások „General setup / Szériában”, „Általános beállítások / Általános jellemzők”) teszi a kernel szimbólum információt be kell ágyazni a magot; ez alapértelmezés szerint engedélyezve van. Információ a használt szimbólumok keretében hibakeresés; nélküle Hoppá felsorolás adja vissza a kernel nyoma csak hexadecimális, ami nem túl hasznos.

Ezeket a paramétereket (található a menüben a „General setup”, „Common Settings”) kénytelenek beépíteni a lényege általános állapotát a rendszermag konfigurációs és elérhetővé teszik azt a / proc. A legtöbb kernel fejlesztők tudják, hogy mely konfigurációs használták, és nem kell ezeket a lehetőségeket (amelyek a mag több). Miközben hasznos lehet, ha megpróbálja megtalálni a problémát a sejtmagban össze valaki.

Ez az "Energiagazdálkodás / ACPI" ( "power management / ACPI"). Ez az opció lehetővé teszi a részletes hibakeresési információk ACPI (Advanced Configuration and Power Interface), amely hasznos lehet, ha úgy gondolja, hogy a probléma az ACPI.

Található, a "eszközmeghajtóknál" ( "Device Drivers"). Ez magában foglalja a hibakeresési információkat az illesztőprogram kernel, ami hasznos lehet a problémák megoldásában, az alacsony szintű támogatást kódot. Úgy véljük, vezetőoldali kernel a 14. fejezetben.

Ez a lehetőség található a "Device drivers / SCSI eszközök támogatása" ( "Device Drivers / SCSI Device Support"), be van ágyazva az információs részleteit SCSI hibákat. Ha dolgozik a SCSI driver, akkor valószínűleg engedélyezni szeretné ezt a lehetőséget.

Ez a lehetőség (a "Device drivers / input eszköz támogatása", "Device Drivers / Support beviteli eszköz") tartalmazza a részletes naplózása bemeneti eseményeket. Ha dolgozik egy vezető egy beviteli eszköz, ez az opció hasznos lehet. Ugyanakkor tudatában kell lennie a biztonsági következmények: bejelentkezett mindent, ami be, beleértve a jelszavakat.

Ez a lehetőség található a „profilalkotás support” ( „Támogatás profilalkotás”). Profilalkotás általánosan használt módosíthatja a rendszer teljesítményét, de ez is hasznos lehet nyomon követni néhány kernel és a kapcsolódó problémák.

Vissza fogunk térni néhány a fenti lehetőségek, hogy különböző módon követési problémák a kernel. De először nézzük meg a klasszikus hibakeresés technika: jelentések nyomtatása.