!! デバッガとは ソフトウェア作成の開始段階では, * 設計どおりに動作しない * 不正確な出力結果 など多くのバグ(不具合)が含まれている.バグの発見や修正を支援するために,「デバッガ」というソフトを利用して * ソースコードの流れ,および変数などの中身を確認する. * 誤った変数処理,および分岐条件を確認して修正する. * ソフトウェアの性能解析,および性能強化を行う. !! デバッガの種類 Linuxでもっとも広く使われているデバッガは,GDB,DDD,Eclipseというツールである. + GDB (GNU Project Debugger): GNU General Public License の下でリリースしているのデバッガ + DDD (Data Display Debugger): GDBのGUI版であり,コマンドなどを全てボタン操作で行える + Eclipse: IBMによって開発された統合開発環境 !! GDBの使い方(1) + [[GDBの起動・終了(run, continue, quit)]] + [[プログラムの実行 [next, step, finish]]] + [[ソースコードの表示 [list]]] + [[変数内容の表示 [print, display]]] + [[変数内容の変更 [set]]] + [[ブレークポイントの設定 [break, delete]]] + [[ブレークポイントへの条件付き [if]]] !! GDBの使い方(2) + [[読み込みの監視 [rwacth]]] + [[書き込みの監視 [watch]]] + [[スタックの検査 [backtrace, frame]]] + [[ヘルプ [help]と短縮コマンド]] + [[Emacs上でのGDBの使用]] + [[GDBためのMakefileの書き方]] !! GDBの利用場面 普通のデバッグ % gdb a.out コアからデバッグ % gdb a.out coreファイル 走っているプロセスをデバッグ % gdb 54321