[Armadillo:05534] Re: みなさんが使っているデバッグの手法を教えて

船戸 理生 email@hidden
2010年 8月 3日 (火) 11:52:11 JST


船戸と申します。

興味がソソラレルSubjectなのですが、コメントが無いようなので、
コメントさせて頂きます。
私はライトユーザー&専門ではないので、恐れ入ってしまうのですが・・・

そもそも、小規模なものしか組んだことが無いのですが、
printf()&リダイレクトとgdb、後はソースとにらめっこです。

初めて見るプログラムの場合は、目とgrepで追っています。
あとは、デジタルオシロ(ロジアナでない)で最終的な波形を見たりでしょうか。

valgrindは、BINARY HACKSにも言及がありますね。
http://www.oreilly.co.jp/books/4873112885/

C言語以外ですと、
web系は、Aptana+Firebug を使っています。
でもやっぱりダンプ系は基本ですよね。

あとはデバッグツールではありませんが、コードを書くときに、

//*
コードA
/*/
コードB
//*/

とかやって、AとBを切り替えてテストしたりすることもあります。

Armadilloのコードを書くときは、私もdebianで書いてテストしてから
Armadilloで動かすようにしています。
テスト/デバッグ/バックアップ/バージョン管理がやりやすい環境で作ってか
ら、という意図です。

ですが、最大のデバッグは、最初の変数とか構造の設計かなあと思います。

(2010/07/28 12:02), Yasushi SHOJI wrote:
> At Wed, 28 Jul 2010 11:12:58 +0900,
> s.maruyama wrote:
>>
>> デバッグの方法について、ご教授ください。
> 
> 私も知りたかったので、サブジェクト変えました。
> 
> みなさん、デバッグの時ってどんなワザを使っているのでしょうか?
> ハードがらみ、スレッド、メモリリーク、メモリ破壊など
> いろいろなバグがあるので、なんとも言えないかもしれませんが、
> 情報共有できると良いですよね。
> 
> 個人的に一番使うツールは、printf()と gdbの back traceです。(^^;
> あとは想像(妄想)力。
> 
> 
> 
> たとえば、「Debug Hacks」という本[1]は、Linuxを中心に書いてあるので、
> Armadilloで開発するひとには、良いなぁと思ったりします。ただ、「初心者に
> 優しくない」というコメント[2][3]があるようですね。
> 
> 本の中でも紹介されていますが、メモリがらみの場合、私は valgrind[4]とい
> うツールを使います。メモリ破壊もリークも見てくれるので、アプリのデバッ
> グをするにはとても便利です。
> 
> デバッグではないのですが、初めてみるプログラムの場合も gdbで動作を追っ
> てみたりすることがあります。とくに読む気にならないコードの場合(^^;
> こっちは訳本なのですが、「実践 デバッグ技法」という本[5]に載っている
> DDD[6]というツールは、データを可視化してくれるのでデータ構造を理解する
> ような場合は良いかもしれません。古い感じのUIがイマイチですが…。
> 
> 
> 
> ちょっと外れますが、C以外の言語でプログラムを書く場合や、新しい言語を学
> ぶときに、個人的に最初に探す関数は「データをダンプ」してくれる関数です。
> Rubyなら「p」、PHPなら「var_dump」とか。やっぱり printf()から離れ
> られないだけなのか…。(^^;
> 
> 
> ちなみに、Armadillo用のコードを書くときも、最初は PCで動かしながら書き
> ます。ハードや速度に依存するところ以外は、全部書いているかも。そのうち
> Armadilloでも動かしはじめますが、最初は Debianが動いている Armadillo の
> 方が多いです。なぜかと言うと、上記で書いたようなツールを入れるのが簡単
> だからです。
> 
> 	sudo apt-get install valgrind
> 
> とか。個人的に Armadillo 上でコンパイルはしてません。している人はわりと
> いるみたいですけど。(良く聞かれます)
> 
> デバッグの話ではなく、開発環境の話になってきたので、このへんでやめます。
> 
> 
> [1]: http://www.amazon.co.jp/dp/4873114047
> [2]: http://www.amazon.co.jp/dp/4873114047#R3KQHGJTKBPAH
> [3]: http://d.hatena.ne.jp/hyoshiok/20090503#c1242071118
> [4]: http://valgrind.org/
> [5]: http://www.amazon.co.jp/dp/4873114063
> [6]: http://www.gnu.org/software/ddd/


-- 
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

アイ電子株式会社 第一技術部
船戸 理生
〒215-0033 神奈川県川崎市麻生区栗木2-6-5
TEL:044-981-3866
FAX:044-981-3868
Email:email@hidden

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/



armadillo メーリングリストの案内