元スレSGI KDBを使ったカーネルデバッグスレ
kernel覧 / PC版 /みんなの評価 :
1 = :
カーネルデバッグの話はここで存分にどうぞ
3 = :
1.http://oss.sgi.com/projects/kdb/ より、使用しているカーネルにあった
パッチをダウンロードし、カーネルソースにパッチを当てる。
2.make xconfigなりのカーネルコンフィグアプリを起動。
Kernel Hackingの項目が追加されているので、
"Build-in Kernel Debugger support"をyにする。ついでに
"compile the kernel with frame pointers"もyにしたほうがスタック
トレースがとりやすくなる。
3.カーネル再構築。
4.lilo.confに以下のように"kdb=on"のカーネルブートオプションをつける。
>image=/boot/vmlinuz-2.4.4-test
> label=test
> read-only
> root=/dev/hda2
> append="kdb=on"
5.liloを実行し、ブート情報を書き込み、ブートオプションをつけたカーネルから
ブート。
6.Pauseキーを押すとカーネルデバッガに入る。"g"コマンドで再開。
4 = :
リモートの場合。
1.同じくクロスシリアルケーブルを用意しターゲットとターミナルを繋ぐ。
2.ターミナルマシン上で適当なターミナルプログラムを起動する。
3.liloのappendコマンドを以下のように変更。
append="kdb=on console=ttyS0,38400"
これで、シリアルコンソールにデバッガの出力が表示される。
停止はターゲットでPauseキーか、ターミナルでCTRL-A。
4.ただこれだと、ブートメッセージがターミナルにしか表示されなく
なるので、以下のようにしたほうがいいかも。
append="kdb=on console=ttyS0,38400 console=tty0"
これで、ブートメッセージは両方に出力される。そのかわりCTRL-Aでの
Breakinはできなくなる。
Initは最後に指定されたコンソールに出力するらしく、
append="kdb=on console=tty0 console=ttyS0,38400"
のようにしてしまうとInitの出力がターミナルだけになってしまうため
不便。
9 = :
あとは俺は基本的にsage進行。オリジナルスレは適当にうっちゃってsage out
させてくれ。
10 = :
○岡さん?>>別スレ1
11 = :
俺は自分のwebページも持ってない、しがない一プログラマです。だから誰も
知らないでしょう。
12 = :
kernel毎刺さってるときって、どうデバッグすればいい?
再現出来ないときがほとんどだし、めったにでないけど。
ダンプとかってとれるのかな。
13 = :
>>1
うにゅースマソ
ほとんど同じ草稿を見たことあったもんだから、勘違いした
14 = :
KDBがonになっていれば、コードが無限ループになっている場合は普通に
pauseキーでbreakinすれば回ってる場所で止まるはず。マルチプロセッサに
すれば、確実に止まるね。cpu 0が無限ループしてもcpu 1がbreakinの処理を
行えるから。
コードが無限ループしているわけじゃなくてシンクロナイズリソースで止まって
る場合はちょっと面倒。多分btaで全プロセスのスタックを取って怪しいリソースを
見つけてそれの待ち行列リストからたぐっていくしかないんじゃないかな。
ダンプを取れるカーネルは同じくSGIが提供してる。使ったこと無いけど。
基本的にダンプがあっても、そうとう運がよくないとトラブルシュートできない
からね。下手にダンプがあると、素人さんが「ダンプがあるからなんでもできるだろ」
と思い込むから危険。すでに稼動しているシステムだとかなり難しいんだけど、
それでもライブでデバッグできるような状況にもっていくのが重要かな。
16 = :
>>14
なるほど。サンクス。
17 = :
結局1はどうしたいのさ?
2chでお山の大将になりたいの?まあそれにさえ失敗してるけどね。
MLへ行くなりKernel Debug Mini-HOWTO書くなりした方が尊敬されると思うよ。
まあここが1がやっと見つけた居場所なら何も言わないけどな。
いろんなスレで叩かれたり相手にされなくなったりしたみたいだから。
18 = :
>>17
君、つまらんよ。
19 = :
うーん、どうやっても煽られるのね。みなまで書かんとわからんか。
前のスレを立てた動機はこの板で「Win2Kは落ちる」だと書かれることが
多いから、真実を知るために立てた。Win板やUNIX板に立てなかったのは
それらの板では落ちるなどということは書かれることが殆どなかったからだ。
その後Linux専用で立てろという意見があり、誰かが新スレを立てれば俺は
そっちに移ると言った。そしたら誰かが新スレを立てたから言った通り俺は
ここに移ってきて、Linux専用の内容をここにコピペしたまでだ。
お呼びでないなら、適当にうっちゃってsageてくれ。
20 = :
うん、1の言う事は間違ってない。
Win2Kは落ちるとろくに使ってもない奴がいうのは間違い。
まあ、それでもいろんなとこで落ちるとか不具合の話を
聞くのは何故だか知らないが(藁
しかし、素直に1の技術力には感心するな、
21 = :
1=別スレの1=18
22 = :
>>21
ぶー、ハズレ。
24 = :
これはあげよう
25 = :
1=別スレの1=18=20=22
めっちゃわかりやすい。
26 = :
さすが妄想力。おみそれしました。
27 = :
結局1はどうしたいのさ?
2chでお山の大将になりたいの?まあそれにさえ失敗してるけどね。
MLへ行くなりKernel Debug Mini-HOWTO書くなりした方が尊敬されると思うよ。
まあここが1がやっと見つけた居場所なら何も言わないけどな。
いろんなスレで叩かれたり相手にされなくなったりしたみたいだから。
28 = :
前スレの1みたいな、自分のオタク趣味のひけらかしなんぞ、
誰も求めていません。てゆうかウザイだけです。
大体そんなマニア的過ぎる偏った知識なんて、実際の仕事じゃ
何の役にも立たないっての。それこそ、そんだけ詳しいんだっ
たら、UNIXカーネルの作り方のコツとか教えてくれた方がよほど
まともだぜ。
29 = :
>>27
オレはこのスレッドは保存してるよ
便利だし(すっげー読みにくいけど)
31 = :
>>83
おれアニオタじゃないのだが、「ちょっとなら」そういうネタを
入れてもいいと思う。それが一種彼らの楽しみでもあるわけだしさ。
逆にアニメじゃなくても、趣味の押しつけがましい
ドキュメントやサンプルがあったら引くわな。
何事も程度の問題ってことで。
32 = :
>>26
あれ?
嵐君はこのスレと何か関係あるの?
墓穴掘ってるよ。
33 = :
名スレの予感
34 = :
>>25
ぶー、やっぱりハズレ。
35 = :
>>28
カーネルの再構築の仕方なんて検索すれば腐るほどでてくるじゃん。
それにあれただ単にmakefileを決まった引数つけて実行させてるだけでしょ。
あんなの誰でも出来るぞ。コツも何もあったもんじゃない。
うまくいかなかったらmakefileを読みなさい。
他のページに書かれてないことを書くほうがよっぽど有用だろ。君が有用で
ないと思うのはこういうデバッグを必要とするような事をしてないからだよ。
実際ドライバを書いたりすればカーネルデバッガが非常に有用なのが分かるよ。
Winのこととは関係ないことかいてるのになんで煽るのかな。君、個人的に
なんか俺に恨みあるの?前スレで突っかかってきた奴がまだ粘着してるわけじゃ
ないよな。
36 = :
>>35
前スレでセルフでカーネルデバッグの質問した人です。
あんときはどうも。
自力で解決できたんであの方法まだ使ってないけど
そのうち使わせてもらいます。
敵が多いけど頑張ってね。
37 = :
>>35
暇があったらオリジナルの方にもまた有用なカキコお・ね・が・い♪
38 = :
>>35
誰も再構築の話なんて訊いていませんけど?
てゆうか、なんでカーネルの作り方=カーネルの再構築に
なるんだよ? 凄い脳内変換だねえ、やっぱお前バカだわ。
大体他のページで書かれていない事で有用なのがカーネルの
デバッグなわけ? 有用なのはお前のオタク趣味にとってだろ。
しかもカーネルのデバッグが仕事で有用? そんなのお前の
仕事だけだよ。普通のエンジニアやプログラマーはそんな
面倒なことはしないで、もっと別の解決方法を考えるに決ま
ってんだろ。
39 = :
>>38
あなたの意見はとても偏見に満ちています。
それは、カーネルにはまだまだバグが多く潜んでいることを
知らないということが原因です。
また、デバイスドライバの開発は、すなわち、カーネルの開発です。
デバイスドライバのデバッグは、すなわち、カーネルのデバッグです。
40 = :
>カーネルにはまだまだバグが多く潜んでいる
そんなことくらいは知っている。
ただ、カーネルのデバッグなんてとんでもなく時間がかかる作業を
自分の仕事にしている人はかなり限られる。少なくともエンジニアや
プログラマーの大多数を占める、システムの構築や運用・管理、モジ
ュールの設計・コーディングをやっている人間がこんなことに手を出す
とはとても思えん。
>デバイスドライバの開発は、すなわち、カーネルの開発
>デバイスドライバのデバッグは、すなわち、カーネルのデバッグ
そんなわけねえだろ(w
41 = :
>>40
ご理解いただけず、とても残念です。
42 = :
>>40
> ただ、カーネルのデバッグなんてとんでもなく時間がかかる作業を
> 自分の仕事にしている人はかなり限られる。少なくともエンジニアや
> プログラマーの大多数を占める、システムの構築や運用・管理、モジ
> ュールの設計・コーディングをやっている人間がこんなことに手を出す
> とはとても思えん。
仕事と決めつけるのはなぜ?趣味でやる人は依然多いと思うけど?
少なくとも、デスクトップのテーマがどうとか、最強のウインドウマネージャとか
いう話題よりもはるかに有益だと思うけど。
> >デバイスドライバの開発は、すなわち、カーネルの開発
> >デバイスドライバのデバッグは、すなわち、カーネルのデバッグ
>
> そんなわけねえだろ(w
そんなわけあるよ。
43 = :
>>38
あ、カーネルの作り方ね、本当にカーネル作りたいんだ。だったら本当に
カーネルデバッガ必要だね。ライブの動きを見ながらソースを追うのが
一番理解が深まるよ。
44 = :
>>40
何なんだこのLin厨の世間知らず振りは。
45 = :
>>42
>仕事と決めつけるのはなぜ?
別に決めつけてねえよ、よく読め。
>趣味でやる人は依然多いと思うけど?
だからそんなヲタクの為のオナニースレはLinux板にいらねえって
言ってんだよ。やたら詳しいけど、同時にものすごく偏っていて、
実務的でもなければ学術的でもない知識をひけらかす。そもそも
ソフトにバグがあるのは当たり前。そのうち致命的な物については
発見されたらその都度パッチを貼り、そうでないものについては
だましだまし使うのがまともなユーザー。それをまるで完璧なもの
を求めるかのようにネチネチとイジるなんて、やってることが極めて
非生産的&病的。それこそセキュリティの弱いサーバーをクラック
して遊ぶ外道と大して変わらねえよ。
46 = :
>>45
申し訳ないけど、このスレの情報が役に立っている人もいるんだ。
スレを汚さないでほしいんだが・・・
あと、パッチを貼ったりしているなら、そのパッチを作った人達にも
ほんの少しでもいいから敬意を払ってはくれまいか? たのむよ・・・
47 = :
仕事してるふつーの技術者は2ch見てくだらん煽りいれてる暇があったら
他にすることがあることくらい知ってるでしょう。
ヴァカはほっとくのが吉。
48 = :
>>45
これがLinuxユーザーの認識なのか?
信じたくはないが…
49 = :
>>48
>>45は際立ってバカだけど、でも大抵のビジネスユーザは、
「会社に指示されて」使うわけだからあんなものかも。
知的好奇心や向上心を持たない技術者なんて珍しくもない。
50 = :
「知的好奇心」や「向上心」の現れ=カーネルデバッグ?
こりゃまたとんでもない勘違いだね。
みんなの評価 :
類似してるかもしれないスレッド
- あなたのカーネルパッチを教えろやゴルァ! (300) - [30%] - 2009/12/12 11:32
- 【Linux】カーネル総合7【Kernel】 (247) - [25%] - 2022/12/17 20:30
- 【Linux】カーネル総合6【Kernel】 (980) - [25%] - 2015/4/13 16:30
トップメニューへ / →のくす牧場書庫について