計画は繊細に行動は大胆に!

Categories

Translate

Page view

2006/09/13

Mac OS X でWindowsのようなブルースクリーンを出す方法


A New Screen of Death for Mac OS X

記事を読んで初めてしったのですが、Mac OS X上で動作するカーネルを"xnu"と言うのですね。

The Mac OS X kernel retains the panic() routine and the panicstr variable. Whereas the Third Edition UNIX kernel had about fifteen instances of calls to panic(), there are many, many more—about 1800— in the Mac OS X kernel, which also has a far more complex panic() implementation.

(私訳)MacOS Xはpanic()関数とpanicstr変数を保持しています。第3版のUNIXカーネルでpanic()関数を呼び出すインスタンスはおよそ15存在しますが、Mac OS Xの場合は約1800のインスタンスから呼び出されます。

MacOSXではPanic関数を呼び出す仕組みが充実してそうですね。
この記事の後には、実際にカーネル内でパニくった際に表示される画像を
ユーザプログラムから差し替える方法が紹介されています。意図した画面
を出したい時やデバッグなどには役立ちそうですが、我々のような
一般利用者には役立ちそうにありません。

で、最後にBSODへのカスタマイズ方法が掲載されていました。
BSODとはBlue Screen Of Deathの略だそうですが、Windowsが死ぬときの
画面をMacでも再現するというジョークです。ソースコードは同上のリンク
に掲載されています。

Panicが起こるまで待つのか?という疑問がありますが、Panicを明示的に
引き起こすテスト用のコードも紹介されています。
このコードでシステムへの影響はない(はず)です。

で、以下がスクリーンキャプチャ画面です(笑
まぁ、ジョークの域はあくまで超えれないとは思いますが・・・。



0 comments:

コメントを投稿