トップページ⇒tech
403コメント100KB

デバッグ技術を話しましょう

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
デバッグはとても重要なのにスレが内容なので作りました。
0002デフォルトの名無しさんNGNG
スレが内容
00031NGNG
ちなみにジャンルは問いません。
0004デフォルトの名無しさんNGNG
内臓がないぞう
0005デフォルトの名無しさんNGNG
少しはネタを考えて・・・
00061NGNG
>>5
デバッグはするべきだと思います。
0007デフォルトの名無しさんNGNG
>>1
これ見てどう思いますか?
http://www.stileproject.com/monkey_sugar.swf
0008デフォルトの名無しさんNGNG
それのどこがデバッグ技術?
0009デフォルトの名無しさんNGNG
カワックはいいですね。
00107NGNG
>>9
わかる?
0011デフォルトの名無しさんNGNG
デバッグツールとか
デバッグのためにコードに施す細工とか?
00121NGNG
デバッグと聞くだけでつい勃起してしまいます。
0013デフォルトの名無しさんNGNG
削除依頼完了
0014デフォルトの名無しさんNGNG
ddd
0015デフォルトの名無しさんNGNG
>>7はわかりやすいね
0016デフォルトの名無しさんNGNG
いまさらモンキーシュガーかよ。
0017デフォルトの名無しさんNGNG
完璧な設計と完璧なコーディングがあればデバッグなど必要ありません。
0018デフォルトの名無しさんNGNG
誰かリンク先の解説プリーズ
0019デフォルトの名無しさんNGNG
>>16
まだまだ使える
00201NGNG
デバッガになるのが夢です。
0021デフォルトの名無しさんNGNG
>>17
設計とコーディングを完璧にするためのデバッグ作業なんだと思います
00221NGNG
みんなデバッグには興味ないのかな。
0023デフォルトの名無しさんNGNG
バグがあっても一切気にしません。
「仕様です」の一言で全て押し通しています。
0024デフォルトの名無しさんNGNG
1もバカだが、削除依頼してるやつも結構なバカだな。
0025デフォルトの名無しさんNGNG
なんで?
0026デフォルトの名無しさんNGNG
ちなみに >>1 は、何使ってるわけ?
0027デフォルトの名無しさんNGNG
gdb
00281NGNG
なかよくデバッグしようよ!
00291NGNG
>>26
いまはWindowsで開発してるのでVC++のデバッガがメインです。
デバッガ関連の本ってほとんどみつからないので
MicrosoftPressのデバッグテクニックぐらいしか読んでません。
0030デフォルトの名無しさんNGNG
とりあえずprintf
0031デフォルトの名無しさんNGNG
http://www.ascii.co.jp/books/detail/4-7561/4-7561-1745-7.html
この本はどうよ?
0032デフォルトの名無しさんNGNG
アセンブラスレで十分
0033デフォルトの名無しさんNGNG
デバッガの実装について知りたかったので>>31は読んでみようと思う。
他に参考文献あったら教えてください
00341NGNG
僕も教えてください。
0035デフォルトの名無しさんNGNG
とりあえず、バグ出しの為のちゃんとしたテストやれるかどうかだと思うが。
バグが発見されればそれを修正するのは(技術的には)簡単なのだし。
00361NGNG
おいおい、とんだアマちゃんがやってきたぞ。
0037デフォルトの名無しさんNGNG
ただ今"プロの逝って良しの1"
にインスパイアされた>1が頑張ってます。
0038デフォルトの名無しさんNGNG
XPキチガイでも召還するか?
テストファーストですが何か?
0039デフォルトの名無しさんNGNG
>>35
99%のバグはそんな感じだね。
問題はテストを通り抜けた、再現条件も問題箇所も定かじゃない不具合。
データ収集するために不具合起こるまで24時間張り付きってのも珍しく
ない。
#原因がうちの製品じゃないとわかった時の無気力感といったら。。
00401NGNG
やれやれだな。
0041XPマンセーNGNG


  テ ス ト フ ァ ー ス ト で す が 何 か ?


0042デフォルトの名無しさんNGNG
SoftICEってどのくらい使えるの?
0043デフォルトの名無しさんNGNG
>>42
後数年は大丈夫かと
0044デフォルトの名無しさんNGNG
age
0045デフォルトの名無しさんNGNG
W32dasm...
0046デフォルトの名無しさんNGNG
>>1
こういうのか?
http://www.microsoft.com/japan/msdn/library/ja/vclib/html/_CRT__CrtSetDbgFlag.asp?frame=true

VC++厨でスマソ.
0047デフォルトの名無しさんNGNG
デバッグ技術は重要なのに誰も語らないのは技術として確立させるとデバッグがつまらなくなるから。
0048デフォルトの名無しさんNGNG
よくある設計バグをBug Patternとして発表。
004949NGNG
>>48
それどっかのページで見たことある.
さがしてくるわ
0050デフォルトの名無しさんNGNG
>>47
重要か?
0051デフォルトの名無しさんNGNG
gdb 使うべきか printf 使うべきか…
0052デフォルトの名無しさんNGNG
とりあえず、リーク関連はバウンズチェッカーでなんとかしてる
00531NGNG
うちのプロジェクトは金が無いのでバウンズチェッカーは無い。
メモリ確保、開放は専用のクラスを用意して管理してるので開放忘れはないけど、
変な参照、書き換えまでは管理できない。
0054デフォルトの名無しさんNGNG
出かけるときに持っていくけれど軽い方が良いですよね。
0055デフォルトの名無しさんNGNG
>>54
ベタですね
0056デフォルトの名無しさんNGNG
>>53
バウンズチェッカーって20万しないよ・・・
この手のツールを使わないことで損する時間をお金に換算したら
20万なんてあっというまだよ・・
0057デフォルトの名無しさんNGNG
ccmalloc
0058デフォルトの名無しさんNGNG
>>56
不景気の今、その20万を人件費に使ってくれる方がいい親方だな
0059デフォルトの名無しさんNGNG
>>58
2週間くらいしか雇えないんですが。
00601NGNG
>>56
僕もそう思うけどそれが理解できるいい上司に恵まれていない。
個人で買おうと何度か思ったし、今も迷いつづけている。
0061デフォルトの名無しさんNGNG
>>59
 2週間もありゃ、それなりのツール作れるだろ
0062デフォルトの名無しさんNGNG
>>60
うーん、がんがれ。

これから少なくとも5プロジェクトに使います、
1プロジェクトあたり4万円です、でもダメかな。ダメなんだろうな。
0063デフォルトの名無しさんNGNG
スマートポインタを使えば解決したりしません?
メモリリーク関係の、ほとんどの問題。

# とかいいながら、スマートポインタをよく知らない罠。
0064デフォルトの名無しさんNGNG
>>63
スマートポインタは関数内での一時オブジェクトの解放忘れを解決してくれるだけ
0065デフォルトの名無しさんNGNG
関数内の解放忘れは分かりやすいんだよなぁ・・。
0066デフォルトの名無しさんNGNG
自分で書いたコードだけが原因なら、まあなんとかなるんだけどね・・・
0067デフォルトの名無しさんNGNG
age
0068デフォルトの名無しさんNGNG
デバグ以前にテストしないやつ多すぎ
0069デフォルトの名無しさんNGNG
>>68
>>41
0070デフォルトの名無しさんNGNG
テストファーストってテスト項目を最初に作るってことじゃん。
あふぉですか?>>69
0071デフォルトの名無しさんNGNG
XPなら作って即効テストだがな。
0072デフォルトの名無しさんNGNG
何行書いたら実行します?
おれはとりあえず、一つのファイル分
全て書き終えるまでは我慢します。
それからデバッグ。

あんまり頻繁にコンパイル実行を繰り替えすのは
効率が悪い。知らないライブラリを使うときは
別でテストモジュールをいくつか作ればよいし。
0073デフォルトの名無しさんNGNG
>>72
使うツールによると思う。 Cで書く時はそういう感じ
アセンブラの場合は数行書く毎にアセンブルは試験の為にかける
Delphiの場合は 粗く造ってから肉付けするように動かしながら作ったり、一挙に複数のユニットを書いたり
0074デフォルトの名無しさんNGNG
> あんまり頻繁にコンパイル実行を繰り替えすのは効率が悪い。

コンパイルしながらコード書いてます。
バックグラウンドで自動的にやってくれるので手間はかかりませんよ。
00751NGNG
>>72
VCで開発してるので関数1つ作るごとにコンパイルしている。
変更したファイルだけコンパイルしてリンクしてくれるので時間は大してかからない。
コンパイルすると単純なスペルミスはすぐにわかるのでちょっと便利かな、と。
一応テストはその日の夕方ぐらいにして(関数とかクラスの単体テスト)いる。
0076デフォルトの名無しさんNGNG
私めもコンパイルは頻繁にしてるけど、
実際に実行するのはロジックそのものが結構完成してからだね。

下位DLLとかの開発の場合は、上位TPとかを作成せんことには
デバッグできんし
0077デフォルトの名無しさんNGNG
紙と鉛筆があればプログラム完成までコンパイルしない。
画面の前に座ってしまうと、関数ごとかな。

未だに机上コーディングな人。
0078デフォルトの名無しさんNGNG
ひとつのファイルとか言ってたら作業が滞ってしまう。
他人が作ってるモジュール/クラスから呼ばれる関数もあるし。
0079デフォルトの名無しさんNGNG
>>78
単体の検証抜きで、いきなり結合するんかい。
0080デフォルトの名無しさんNGNG
プロセスにアタッチできる機能を教えてもらって
びびった記憶がある
0081デフォルトの名無しさんNGNG
age
00821NGNG
VisualQuantify使ってる人誰かいない?
なぜかおいてあるので使ってみたが・・・・
0083デフォルトの名無しさんNGNG
なんていうか…。
MFCやAPIの動きを調査しながら設計しながら実装しながら
デバッグしてるんですけどまずいですか(×_×)

だってMFCの動きが思ってたのと違ったんだよー。
0084デフォルトの名無しさんNGNG
http://sourceforge.net/projects/cunit/
http://www.splint.org/
みたいなフリーでデバッグに使えるツールないかな
0085デフォルトの名無しさんNGNG
>>83
テストプログラムを大量に書きまくるべし。
そしてそこからコピペ。
実アプリを作る過程とテストプログラムを書くのを
分けたところで、そんなに作業ロスは発生しない。
008683NGNG
>85
ども。難しそうなとこはそうしてるんですけどね。
タカをくくっていたところをぶっつけで組み込んでみたら
ヤラレタという…。

話題をスレに戻すと。
そんなこんなで結構バグ修正のためにその場で設計の微調整っていうか
細かい再設計をしなくちゃならないことがあるなあ、ってことです。
0087デフォルトの名無しさんNGNG
バグってハニー
0088デフォルトの名無しさんNGNG
ddd
0089デフォルトの名無しさんNGNG
焼畑式デバッグって一般的な用語?
それとも極局所でしか通じない?
0090デフォルトの名無しさんNGNG
>89
なんだっけそれ?
どこか本で読んだような気もするけど全然一般的じゃないんじゃない?
0091デフォルトの名無しさんNGNG
多分、awkかCだったような・・・
方法としてはよくつかうんだけど・・・
0092デフォルトの名無しさんNGNG
関数内の解放忘れは分かりやすいんだよなぁ・・。
0093デフォルトの名無しさんNGNG
i�`
0094デフォルトの名無しさんNGNG
0095tomi ◆esXgiUMaBc NGNG
デバックなんてクズの中のチンカスだよ
0096デフォルトの名無しさんNGNG
>>95
おまえのバグだろ、ごらー
http://pc.2ch.net/test/read.cgi/prog/1037637734/l50
0097デフォルトの名無しさんNGNG
>>89-90
sed & awk 本かな?
コードブロックをどんどん削除して行く手法。
0098デフォルトの名無しさんNGNG
0099デフォルトの名無しさんNGNG
0100デフォルトの名無しさんNGNG
0101デフォルトの名無しさんNGNG
>>98-100
これって何だ?
■ このスレッドは過去ログ倉庫に格納されています