本日は問題解析法について自分が昔よく使ってた方法を紹介します。
問題内容を書く
問題が発生した場合、まずはテキストファイルに問題を書き出します。
・問題内容:XXXによりプログラムがダウン
直接的な原因
次に一次解析結果を書きます。
・直接的な原因は変数pがNULLのためsegmentation faultを起こした
その原因は?
そのままどんどん原因をさかのぼっていきます。誰かに話すような感じで書くのが大事です。
・変数pがNULLになるには○の場合、△の場合、☆の場合の3通り。
○の場合はその手前でリターンするはず。
△の場合はここのログが出てないとおかしい。
ってことは☆の場合と推測できる。
ではどうやったら☆の場合になる?
☆になるということはこの関数が呼ばれてないってことだよね?
:
:
こういう書き方をしておけば、自分の思考ルーチンが整理でき、誰か他の人が正解へたどり着いたとき、
ここで間違った解析をしていたのか、と気づくことができます。
問題解析に限らず、いろいろな場所で使うことができるので試してみるとよいと思います。