アセンブラの勉強方法 3
前回(アセンブラの勉強方法 2)の続きです。わかりづらいud2、cli、sti命令を紹介します。
初めて見ると、add、movとは違い予想しづらい命令ですが、簡単で知っていればダンプからソースのどの箇所か特定するときの助けにもなります。
![]() |
|
日本発のリナックス企業、ミラクル・リナックスで奮闘する社員のブログです。
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
前回(アセンブラの勉強方法 2)の続きです。わかりづらいud2、cli、sti命令を紹介します。
初めて見ると、add、movとは違い予想しづらい命令ですが、簡単で知っていればダンプからソースのどの箇所か特定するときの助けにもなります。
前回の(crashコマンド ライブシステム)では現在のプロセス情報を見るだけでした。
今回はcrashライブシステムで起動中のカーネルに書き込みもしたいと思います。書き込みをすることでデバッグ情報を、あるときだけ出力させます。またカーネル内の関数コールシーケンスを出力させてみます。
前回はcrashコマンド ライブシステムでカレントプロセスのバックトレースを見ましたが、
SysRqキーでも可能です。その方法を紹介します。
SysRqキーを使用するとバックトレース以外もいろんな情報を取得できます。
カーネルのデバッグでは特に便利です。
crashコマンドではダンプファイルを解析するのに使用しますが、ダンプがなくても現時点のカーネルの状態をcrashのlive systemで確認することができます。
crashのlive systemではカレントプロセスのバックトレースを表示させることができませんが、今回はそれを無理矢理 表示させる方法を紹介します。
「Linuxカーネル解析入門」にある便利なコマンドを紹介します。
私は便利で結構使用しているので、参考までに。
カーネルのコンフィグを見る場合、/proc/config.gz ファイルを見ることができます。
カーネル構築(make)で使用する.configファイルと同じものです。
これはカーネル2.6だとコンフィグがカーネルの中に含んでいるので、起動したカーネルの
コンフィグをprocファイルシステムで取得できるのですが、これはあくまで起動している
カーネル自身のしか見ることができません。
他のカーネルのコンフィグが見たい場合はカーネルソースにあるextract-ikconfigコマンドを
使用すれば見ることができます。
最近のコメント