- 759 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/21 18:51]
- >>758
a. たまたま自分で使ってて変なことになって困った、っていう以外にあるのか? b.(1) その不具合が再現する条件を特定する (2) その不具合が起こっているソースを特定する 1) ユーザーランドのコマンドでコマンドが落ちる場合 → -g つけてコンパイルし直して gdb で特定 2) ユーザーランドのコマンドで動作がおかしい場合 → ひたすらソース読まなきゃ何してるかなんてわかんないのでがんばって〜 3) カーネル内部でpanicしている場合 → panicメッセージその他からどのソースか推定してgrep 4) カーネルがハングする場合 → わりとお手上げなので再現性あるならその手順込みでsend-prして待つ? c. 修正なんて場合によりけりだけど、 1) 前まで動いていたものが突然動かなくなったのなら最近の変更をCVSのログで確認 元に戻して動くようなら変更の意図とその内容を見比べれば答えは出るでしょ 2) NULL pointer参照みたいな落ち方なら初期化忘れや値範囲チェック抜け 等のtrivialなのが多いので該当変数名でgrepすりゃだいたいわかるでしょ 3) 実装上の問題と思われる時には似たようなことをしているソースを探して 同じような処理でどういう記述しているか見比べて考えるとかかなあ 4) 問題の原因箇所と現象の発現場所とがかけ離れている場合はぱっと見ても どうせわからんので自分でtrackできた範囲を書いてsend-pr d. NetBSDだとsend-prにつけたパッチがそのまま取り込まれるんでなくて 別の直し方されること多いんで、PRと実際の修正のcvs diff見比べると面白いかもね。 てな感じ? ソース載せなきゃ1ページのコラムで終わっちゃうね。 「send-prの書き方」と合わせてネタにすればもう少し引っ張れる?
|

|