Unixeissa on nerokas virheenetsintätapa: kun ohjelma tekee jotain, mitä se ei saisi tehdä, sen tilasta talletetaan kovalevylle image, "core". (Tämä tapahtuma on ohjelman traagisessa kaatumisessa uskomaton lakonisuuden huippu: virheilmoitus on "segmentation fault (core dumped)".) Näitä imageja voi jälkeenpäin tutkia tarkoitusta varten tehdyllä ohjelmalla, debuggerilla (kaikissa vapaissa ympäristöissä "gdb").
Ohjelmien lopettamisesta ja corejen talletuksesta huolehtii käyttöjärjestelmän ydin. Mutta mitä tapahtuu, kun ydin (kernel) itse huomaa tehneensä jotain, mitä ei olisi saanut tehdä tai, että jonkin ohjelmointivirheen seurauksena sen tila on mennyt sekaisin?
Tässä on suuri ero Linuxissa ja BSD:issa. Rivikäyttäjä ei ehkä osaa arvostaa sitä, mutta se on hyvin tärkeää, kun pitää oikeasti saada tietää, mikä on mennyt vikaan. Linux nimittäin tulostaa tässä tilanteessa ruudullisen tietoa, jonka hyödyllisyys on kyseenalainen, ja jumittuu. BSD taas tallettaa tilastaan "kernel core"n kovalevylle, josta se talletetaan seuraavassa käynnistyksessä, ja käynnistää koneen uudestaan. Tällä tavoin BSD:ita pystyy debuggaamaan kaatumisen jälkeen jopa, vaikka kone olisi jossain kaukana tavoittamattomissa.
Muuten niille, jotka ovat tarpeeksi guruja halutakseen tietää, miten kernelin corea tarkastellaan (tämä on aika hajanaisesti dokumentoitu:)
$ cd /var/crash $ gdb netbsd.gdb (gdb) target kcore=netbsd.0