Debug Hacks っぽいなにか もう、デバッガの使い方、でいいや つくらぐ #4 筑波大学 情報学群 情報科学類 Hirotaka Kawata (techno, @hktechno)
(つくらぐ恒例の?)自己紹介 techno, @hktechno, てくのたん 筑波大学 情報学群 情報科学類 1年目
純粋な茨城県民。
http://techno-st.net/ の中の人
セキュリティ&プログラミングキャンプ 2009 OS 組のチューターやってきた
変なものばっかり開発してる  (さらに、まともなものがない)
今日のお話 デバッグの基礎について話します 例の本みたいなことはやりません
軽い流れ デバッグって何か
デバッグの方法
デバッガって何か
デバッグしてみよう
まとめ
デバッグ (Debug) って何か バグを取り除くための “作業” です バグを発見したら、必ずデバッグしてるはずです ( ただし、放置したり、仕様と決め込んだ場合を除く )
デバッグを極めると? ソフトウェア開発にバグは付き物です バグは除去しなければなりません しかし、それに時間をかけていると... あたりまえだけど、よくない。
最終的には... こんなコードでも 解析できるようになるかもしれないw
IOCCC とかw
デバッグを極めれば... 最終的には ... 開発の効率が上がる!
デバッグの方法 普段から、 何気なく使っているデバッグ手法 いろいろあります。 たぶん、初心者に一番多いのが “ printf()  デバッグ ” と呼ばれる手法でしょう。
printf デバッグ 変数を、printf などを使って、 変数の中身などを出力させる手法。 プログラム中の怪しい場所に多数設置して、 変数の内容を監視する。 どこで、おかしくなったかがなんとなく分かる。 やってみましょう...
printf もいいけど... 確かに、これでもできるけど... 面倒。 効率が悪い。 文句なんていっぱいありすぎて(ry
もっと効率的に... デバッグにかける時間と手間を省きたいなら... デバッガを使おう! そして、極めよう! なわけで、本当はデバッグ全般について でもよかったのですが、 デバッガの使い方メインにすることにします。
デバッガ (Debugger) とは... デバッグを支援してくれるソフトウェア 実行中のプログラムの中身を見ることができる gdb(GNU Debugger) などが有名 VisualStudio などにも付属している printf  デバッグがハエたたきだとすると デバッガは、殺虫剤並の お手軽さと効果を持ち合わせた 最強兵器?!
デバッガでできること プログラムの実行を一時停止できる
ソースを一行ずつ実行できる

Debug Hacks - 第4回つくらぐ勉強会