Affichage des articles dont le libellé est Kernel Panic. Afficher tous les articles
Affichage des articles dont le libellé est Kernel Panic. Afficher tous les articles

dimanche 29 avril 2007

Comment simuler un "kernel panic" sous Mac OS X ("panic screen")

Lorsqu'un système Unix rencontre un sérieux problème, il effectue un kernel panic. Ceci est, heureusement, particulièrement rare.

Mac OS X étant un système basé sur Unix, il peut également subir un kernel panic. Que se passe-t-il alors ? Eh bien vous ne l'avez probablement jamais vu :)

Pour le voir, il vous suffit d'exécuter un tout petit programme dont voici le code source (ceci provient de l'excellent livre "Mac OS X Internals"):

// panic_test.c
// from "Mac OS X Internals", ISBN 0321278542
// figure 5.16 page 439
// The source is being made available "as is" under the GNU General Public License (GPL).
#include

#include

#include

#define KERN_PANICINFO_TEST (KERN_PANICINFO_IMAGE + 2)
int
main(void)
{
int ret;
size_t oldnewlen = 0;
int mib[3] = { CTL_KERN, KERN_PANICINFO, KERN_PANICINFO_TEST };
ret = sysctl(mib, 3, NULL, (void *)&oldnewlen, NULL, oldnewlen);
exit(ret);
}

Pour votre facilité, vous pouvez télécharger ce petit programme sur mon site:
Attention il faut l'exécuter avec sudo, comme ceci:
  • sudo ./panic_test.bin
  • tapez votre mot de passe (vous devez être administateur de la machine)
  • le programme s'exécute
Voyez aussi éventuellement une page sur le site officiel Apple.
... et voilà