こんばんは!
ゆうです!
勉強のためにデバッグを行なう
エラーやバグが発生した時、
初心者の時はいつも焦りますよね。
『やばい。どうしたらいいかわからない』
何がいけないのか検討もつかないで
いたずらに時間ばかりがかかってしまい、
挙句原因がただのタイプミスだったときの
絶望感は誰しも感じた事があるのでは
ないでしょうか?
しかし、エラーやバグが発生した時は、
あえてコレはチャンスだと思ってみましょう。
そのエラーやバグを解消する過程で、
本を読んでいるだけでは学べない
多くの事を勉強する事ができるのです。
しかし
- ただ闇雲に変更を加えてなんとなく動作してしまった
- エラーメッセージをそのままコピペして、検索に引っかかった方法をそのまま適用して事なきを得た
この様なその場しのぎなデバッグをしていると、
折角の学習チャンスを逃してしまうことになります。
デバッグを学習機会に変える準備をしておきましょう。
エラーメッセージを読む
まず、大抵の場合エラーメッセージを
読めばエラーの原因はそこに
書いてあります。
エラーメッセージは赤い上に英語なので、
初心者を殺しに来ている感じが否めません。
しかしながら、ぶっきらぼうなりに
ちゃんと必要な情報をプログラマーに
提供しているのです。
エラーメッセージは大きく分けると
以下の3つの情報が含まれています。
- エラーの発生した時のタイムスタンプ
- エラーの種類
- エラーが発生しているファイルとその行数及び、エラーが発生するまでの経路(メソッドの呼び出し順)
上記の3つを注意して
エラーメッセージを見る事で、
いつどこでどんなエラーが起きたかを
把握しやすくなります。
エラーメッセージの読み方は
使用している言語やフレームワークに
よって出力のされ方や内容が異なります。
そのため、学習する内容によっては
読み方自体が異なることが多いでしょう。
ただし、情報の整理の基本は変わらないはずです。
上記のようにエラーメッセージを
整理していけば、落ち着いてエラーに
対処することが出来るようになります。
デバッグの手法を学ぶ
上記のように大抵の場合はエラーの原因が
書かれているのですが、場合によっては
エラー文を読んだだけでは、
直接的な原因を特定する事が
出来ない事があります。
その場合は、エラーが起きている
該当箇所周辺や関連するコードを
注意深く読みながら、デバッガを
駆使して問題の原因を突き止める
必要があります。
デバッグの細かい手法はWikipediaにも
書かれていますし、
実践 デバッグ技法 -GDB、DDD、Eclipseによるデバッギング
のように体系的にまとめられている物が
多数存在するので、ここでは割愛します。
また、デバッグを行う上でデバッグしやすい
ツールを使うというのも非常に重要です。
PHPを使っている場合はPHPStormという
高機能な統合開発環境(IDE)を使ったり
xdebug等のデバッグ用のライブラリを利用する事で
より快適なデバッグライフを手に入れる事が出来ます。
自分の手元の環境や自分の肌に合うツールを
試行錯誤しながら探すのもプログラミング学習の
楽しさの一つでもあります。