ダンプ解析に必要なもの
本日、(既に昨日ですが)、第65回のYLUG(in 恵比寿ガーデンプレース)に参加してきました。
話の内容については、非常に面白く質疑応答も白熱していました。これに関しては別エントリで書きたいと思います。
ですが、今日のYLUGのmixiのネタでは、私のカーネルダンプのお話とは全然絡めません。
と、思いきや、たまたま座った隣の席には、IntelのOさんがいらっしゃるではありませんか。
最近、Itaniumのマニュアルを配布されているのをメーリングリストとかでよく拝見していたところでしたし、後でお話したところ、弊社にも送っていただいていたようです。すいません。気づいていなくて。
しかし私は気づいたのです。
「おばあちゃんは言っていた。32bitを制するものが64bitを制するものだ」と....。
いや、冗談です。そんな最新アーキテクチャに強いおばあちゃんは居ません。
しかし、今、私が読もうとしているのはIA32システムで取得したカーネルダンプです。ということは、必要なのは64bitのItaniumのマニュアルではなく、IA32の命令セットが書かれたマニュアルが必要なのです。
みなさんは、それを持っていますか? 真のカーネルダンプ解析者を目指すならば、やはり手元に一冊、いや複数冊セットなので、それらを一式持っておくべきであろうと。
前置きが長かったですが、つまりIA32アーキテクチャの命令セットが書かれたマニュアルを入手することが必要です。
それはインテル社から提供されているのです。
http://www.intel.com/jp/developer/download/
いろいろなマニュアルがありますが、私たちが最初に必要とするのは、IA32アーキテクチャの「インテル・アーキテクチャ・ソフトウェア・デベロッパーズマニュアル」の「中巻A 命令セット リファレンスマニュアル」と、「中巻 B 命令セット リファレンスマニュアル」です。
以前は、本で配布されていた記憶がありますが、今はPDFになったようです。
カーネルダンプを読みたいならば、ひとまずファイルをダウンロードしておくべきです。私もこれからダウンロードしておきます。
ちなみに、一番下に書いてありますが、最新情報は英語版に記載されています。日本語版は、利用可能になるまで多少のタイムラグがありますが、ダンプを読むためであれば、全然問題無いと思います。
ところで、本で入手した場合は、このIntelの青いリファレンスマニュアルが机の上に整然と並んでいるとかっこ良いです。いかにも仕事できそうなので、もし手に入れたら必ず机の上に載せておきましょう。
さて、それでは、かなり脱線しましたが、カーネルダンプを読むために必要なものをまとめてみます。
- vmlinux (デバッグシンボルつきカーネル)
- System.map
- vmcore(ダンプイメージ)
- 解析作業の端末
- 集中できる環境
- ダンプ解析をやりとげるという高き志
- Intelのリファレンスマニュアル
これらが揃うとダンプ解析に立ち向かう姿勢としては十分ではないでしょうか。
実際の手順はいずれそのうち。

わたしの会社の本だなにはインテルの青いマニュアルが並んでいます。
これは、インテルにお願いすると、1セット無償で送付してくれます。
インテルさん太っ腹です。
投稿: hyoshiok | 2006年7月 7日 (金) 16:21
「わたしの会社の本だな」って、微妙な表現ですよね。よしおかさんの会社のほんだなは、私の会社のほんだなでもありますから。
http://www.intel.com/design/pentium4/manuals/253665.htm
英語版だとここになりますかね。
真ん中あたりにある
Click here to order hard copy literature or a CD-ROM.
から、ハードコピーをくれーと言うわけですね。
もちろん英語で。
どうやらPDFファイルの最初の6文字をオーダー番号として申し込むということですね。
今だと、253666と253667を申し込めば良さそうですので、申し込んでみます。
ついでにカーネルの理解を深めるために253665も一緒に申し込んでみます。
投稿: やすま | 2006年7月 7日 (金) 19:42