[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 メーリングリストの案内