デバッグ技術を話しましょう
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0002デフォルトの名無しさん
NGNG00031
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG00061
NGNGデバッグはするべきだと思います。
0007デフォルトの名無しさん
NGNGこれ見てどう思いますか?
http://www.stileproject.com/monkey_sugar.swf
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG00107
NGNGわかる?
0011デフォルトの名無しさん
NGNGデバッグのためにコードに施す細工とか?
00121
NGNG0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNGまだまだ使える
00201
NGNG0021デフォルトの名無しさん
NGNG設計とコーディングを完璧にするためのデバッグ作業なんだと思います
00221
NGNG0023デフォルトの名無しさん
NGNG「仕様です」の一言で全て押し通しています。
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG00281
NGNG00291
NGNGいまはWindowsで開発してるのでVC++のデバッガがメインです。
デバッガ関連の本ってほとんどみつからないので
MicrosoftPressのデバッグテクニックぐらいしか読んでません。
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNGこの本はどうよ?
0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNG他に参考文献あったら教えてください
00341
NGNG0035デフォルトの名無しさん
NGNGバグが発見されればそれを修正するのは(技術的には)簡単なのだし。
00361
NGNG0037デフォルトの名無しさん
NGNGにインスパイアされた>1が頑張ってます。
0038デフォルトの名無しさん
NGNGテストファーストですが何か?
0039デフォルトの名無しさん
NGNG99%のバグはそんな感じだね。
問題はテストを通り抜けた、再現条件も問題箇所も定かじゃない不具合。
データ収集するために不具合起こるまで24時間張り付きってのも珍しく
ない。
#原因がうちの製品じゃないとわかった時の無気力感といったら。。
00401
NGNG0041XPマンセー
NGNGテ ス ト フ ァ ー ス ト で す が 何 か ?
0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNG後数年は大丈夫かと
0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNGこういうのか?
http://www.microsoft.com/japan/msdn/library/ja/vclib/html/_CRT__CrtSetDbgFlag.asp?frame=true
VC++厨でスマソ.
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNG重要か?
0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG00531
NGNGメモリ確保、開放は専用のクラスを用意して管理してるので開放忘れはないけど、
変な参照、書き換えまでは管理できない。
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNGベタですね
0056デフォルトの名無しさん
NGNGバウンズチェッカーって20万しないよ・・・
この手のツールを使わないことで損する時間をお金に換算したら
20万なんてあっというまだよ・・
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG不景気の今、その20万を人件費に使ってくれる方がいい親方だな
0059デフォルトの名無しさん
NGNG2週間くらいしか雇えないんですが。
00601
NGNG僕もそう思うけどそれが理解できるいい上司に恵まれていない。
個人で買おうと何度か思ったし、今も迷いつづけている。
0061デフォルトの名無しさん
NGNG2週間もありゃ、それなりのツール作れるだろ
0062デフォルトの名無しさん
NGNGうーん、がんがれ。
これから少なくとも5プロジェクトに使います、
1プロジェクトあたり4万円です、でもダメかな。ダメなんだろうな。
0063デフォルトの名無しさん
NGNGメモリリーク関係の、ほとんどの問題。
# とかいいながら、スマートポインタをよく知らない罠。
0064デフォルトの名無しさん
NGNGスマートポインタは関数内での一時オブジェクトの解放忘れを解決してくれるだけ
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG>>41
0070デフォルトの名無しさん
NGNGあふぉですか?>>69
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNGおれはとりあえず、一つのファイル分
全て書き終えるまでは我慢します。
それからデバッグ。
あんまり頻繁にコンパイル実行を繰り替えすのは
効率が悪い。知らないライブラリを使うときは
別でテストモジュールをいくつか作ればよいし。
0073デフォルトの名無しさん
NGNG使うツールによると思う。 Cで書く時はそういう感じ
アセンブラの場合は数行書く毎にアセンブルは試験の為にかける
Delphiの場合は 粗く造ってから肉付けするように動かしながら作ったり、一挙に複数のユニットを書いたり
0074デフォルトの名無しさん
NGNGコンパイルしながらコード書いてます。
バックグラウンドで自動的にやってくれるので手間はかかりませんよ。
00751
NGNGVCで開発してるので関数1つ作るごとにコンパイルしている。
変更したファイルだけコンパイルしてリンクしてくれるので時間は大してかからない。
コンパイルすると単純なスペルミスはすぐにわかるのでちょっと便利かな、と。
一応テストはその日の夕方ぐらいにして(関数とかクラスの単体テスト)いる。
0076デフォルトの名無しさん
NGNG実際に実行するのはロジックそのものが結構完成してからだね。
下位DLLとかの開発の場合は、上位TPとかを作成せんことには
デバッグできんし
0077デフォルトの名無しさん
NGNG画面の前に座ってしまうと、関数ごとかな。
未だに机上コーディングな人。
0078デフォルトの名無しさん
NGNG他人が作ってるモジュール/クラスから呼ばれる関数もあるし。
0079デフォルトの名無しさん
NGNG単体の検証抜きで、いきなり結合するんかい。
0080デフォルトの名無しさん
NGNGびびった記憶がある
0081デフォルトの名無しさん
NGNG00821
NGNGなぜかおいてあるので使ってみたが・・・・
0083デフォルトの名無しさん
NGNGMFCやAPIの動きを調査しながら設計しながら実装しながら
デバッグしてるんですけどまずいですか(×_×)
だってMFCの動きが思ってたのと違ったんだよー。
0084デフォルトの名無しさん
NGNGhttp://www.splint.org/
みたいなフリーでデバッグに使えるツールないかな
0085デフォルトの名無しさん
NGNGテストプログラムを大量に書きまくるべし。
そしてそこからコピペ。
実アプリを作る過程とテストプログラムを書くのを
分けたところで、そんなに作業ロスは発生しない。
008683
NGNGども。難しそうなとこはそうしてるんですけどね。
タカをくくっていたところをぶっつけで組み込んでみたら
ヤラレタという…。
話題をスレに戻すと。
そんなこんなで結構バグ修正のためにその場で設計の微調整っていうか
細かい再設計をしなくちゃならないことがあるなあ、ってことです。
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNGそれとも極局所でしか通じない?
0090デフォルトの名無しさん
NGNGなんだっけそれ?
どこか本で読んだような気もするけど全然一般的じゃないんじゃない?
0091デフォルトの名無しさん
NGNG方法としてはよくつかうんだけど・・・
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNG0095tomi ◆esXgiUMaBc
NGNG0096デフォルトの名無しさん
NGNGおまえのバグだろ、ごらー
http://pc.2ch.net/test/read.cgi/prog/1037637734/l50
0097デフォルトの名無しさん
NGNGsed & awk 本かな?
コードブロックをどんどん削除して行く手法。
0098デフォルトの名無しさん
NGNG0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNGこれって何だ?
0102IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0103デフォルトの名無しさん
NGNGワラタ
0104デフォルトの名無しさん
NGNGバイソン
0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG音無響子さん?
0108デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNG>内容証明で名誉毀損の部分を削除しろって言うわけでしょ。
>その時点で、ひろゆきは名誉毀損を知るから、
一行目と二行目は論理性が無いといってるんだよ。これで分かる?
0112デフォルトの名無しさん
NGNG日本語の分からない人だね。内容証明があったからといって
名誉毀損があったとは限らないって言ってるの。
その上で裁判所は訴状送達の翌日としたのは、その時点で
名誉毀損を「認識した」ではなくて、「認識しえた」からなの。
わかる?この違い。
0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNG創価批判もできなくなるね、NiftyなりOCNなりISPが訴えられるからね。
朝鮮マンセーしか言えなくなるね、KDDIなりYBBなりISPが訴えられるからね。
一般市民は何も言えなくなるね、塩なり鳥なりISPが訴えられるからね。
普通の告発サイトも作れなくなるね、塩なり鳥なりISPが訴えられるからね。
創価批判もできなくなるね、NiftyなりOCNなりISPが訴えられるからね。
朝鮮マンセーしか言えなくなるね、KDDIなりYBBなりISPが訴えられるからね。
一般市民は何も言えなくなるね、塩なり鳥なりISPが訴えられるからね。
普通の告発サイトも作れなくなるね、塩なり鳥なりISPが訴えられるからね。
創価批判もできなくなるね、NiftyなりOCNなりISPが訴えられるからね。
朝鮮マンセーしか言えなくなるね、KDDIなりYBBなりISPが訴えられるからね。
一般市民は何も言えなくなるね、塩なり鳥なりISPが訴えられるからね。
0115デフォルトの名無しさん
NGNGそもそも匿名でなんでもかける っちゅーのが間違い
IP&リモホ表示上等
from IIJ4U
0116デフォルトの名無しさん
NGNG別になんともないじゃん。
0117デフォルトの名無しさん
NGNG(・∀・)ニヤニヤ
0118デフォルトの名無しさん
NGNG事を改めるべきだな。自分のケツを拭けない物が他人の肛門
のちり紙を笑っているのと同じだよ
0119デフォルトの名無しさん
NGNGおぉー。。。
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG夜なのですの?
0123デフォルトの名無しさん
NGNG0124デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0125デフォルトの名無しさん
NGNG覚悟して書いたら出頭してちゃんと証言すればヨシかな?
0126デフォルトの名無しさん
NGNG生きろ!快速ストーカー
0127デフォルトの名無しさん
NGNGhttp://newspolls.yahoo.co.jp/public/archives/2076384460/p-ne6-7?m=r
0128デフォルトの名無しさん
NGNG関係ない
正解
0129デフォルトの名無しさん
NGNG0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNG正直どうでもいいような気がするんだなぁ。
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG0135名無し@沢村
NGNG次の個所に矢印がつきました。
皆々様方〜これは何↓?
bff64e82 cmp word ptr [ecx],6890
0136デフォルトの名無しさん
NGNG問題を検出した (≠原因となった) 、命令。
0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG0140山崎渉
NGNG0141デフォルトの名無しさん
NGNG4nd ボー カレー
0142山崎渉
NGNG0143山崎渉
NGNG0144デフォルトの名無しさん
NGNG数ページめくっただけど疲れちゃったよ。
0145デフォルトの名無しさん
NGNGまず体から鍛えようね。
0146デフォルトの名無しさん
NGNGGDBデバッギング入門
リチャード ストールマン (著), ローランド ペシュ (著), Richard M. Stallman (原著), Roland H. Pesch (原著), コスモプラネット (翻訳)
立ち読みしたのはこれ。 amazon で検索してもGDBの本は一冊しかないんですよね。 みなさんGDBの使い方はどうやって勉強したんですか?
0147デフォルトの名無しさん
NGNGと言ってみたい。
0148デフォルトの名無しさん
NGNGマジレス。
普通に、「ヘルプで。」
0149デフォルトの名無しさん
NGNG0150146
NGNGマジで? お前らすげー。
0151デフォルトの名無しさん
NGNGすこしずづ覚えていくしかないんじゃない。
0152デフォルトの名無しさん
NGNG・ブレークポイントを貼る
・コールスタックを覗く
・レジスタを覗く
・変数を監視
こんだけできれば大概の問題は解決するんで、そんなに覚えることは多くないと思うけど?
0153デフォルトの名無しさん
NGNG関心した。
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGのデバッガは非常に簡単で使いやすいと個人的に思うに。
まぁIDEはみんなそうなのかな?
0157デフォルトの名無しさん
NGNGと、適当に検索したら出てきた単語を言ってみる。
0158デフォルトの名無しさん
NGNGデバッガ起動する機会はほとんどなくなるよん。
0159デフォルトの名無しさん
NGNGddd(gdb)を使っているのですが、ソースが途中までしか表示されません。
この症状に何か心当たりありませんか?
よろしくお願いします。
0160デフォルトの名無しさん
NGNGテストファーストはバグを見つけるものであってバグを退治するものじゃない。
0161159
NGNGソースコード自体は5000行ほどしかないのですが。
なぜか途中までしか、読み込んでくれません。
そういうもんですか?
そんなわきゃないか。
0162デフォルトの名無しさん
NGNGいや、質問はageてくれ、
> ソースが途中までしか表示されません。
通常設定だとgdbはブレイクポイントの上下5行程度しか表示しない
set listsize 20
とすれば上下10行(つまり全部で20行)表示するようになる。
それかバイナリとソースが不一致だと変な動作をすることがある。
0163159
NGNG> 通常設定だとgdbはブレイクポイントの上下5行程度しか表示しない
まだブレイクを設定前の段階なんです。
dddを起動して出てくるソースの表示が途中まで(900行ぐらい)しかでてこないと。
set listsizeもこれからやってみます。
0164159
NGNGどなたか情報お持ちではないですか?
0165デフォルトの名無しさん
NGNGhttp://www.hashimotoya.jp/butsugu/juzu/kokutan.html
つけてると感情的なしこり、煩悩がはれて、涅槃の境地
でデバックする事ができる。
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG実はデバッグ能力がかなり鍛えられるよね
やみくもに挟んでもしょうがないから
バグのありそうなところにprintfを入れる
眼力がつくというか
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNGコメントアウトの2分探索はよくやるが
たまにどっち側をコメントアウトしても変な動作するときがあるな。
0172デフォルトの名無しさん
NGNGコメント化すること?
コメント化したのを元に戻すこと?
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG#define StartS(l) int _s_ = 0, _l_ = l
#define S if( _s_++ < _l_ )
void foo() {
StartS(2);
S var();
S hoge();
S if( ... ) {;
S hoe();
S }
0175デフォルトの名無しさん
NGNG無用なバグを産みそうだなぁ
構文解析きちんとしないと危なくてイヤン
0176デフォルトの名無しさん
NGNG#ifdef debug
hogehoge;
#endif
を知った時とても衝撃的だった
0177デフォルトの名無しさん
NGNG逝ってるテストケースも知らないVB厨も馬鹿だな。
0178デフォルトの名無しさん
NGNGdebug(hoge) {
hogehoge;
...
} else {
hugehuge;
...
}
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNGそこまでやるなら、なんかツール作った方がいいと思うけど。
0182デフォルトの名無しさん
NGNGなぜか出てないけどassertは滅茶苦茶重要だと思う。
処理の前に前提条件が満たされているかどうかassert
処理の後に結果が正しいかどうかassert
ちょっと動かせばバグはすぐに見つかる。
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGprintf 系コマンドで
「間違ってるよ」
メッセージを表示するよりは、さっさと assert でチェックしる!ということですか?
0185デフォルトの名無しさん
NGNG製品出した後にassertで転ぶとこを想像するとガクブルでとても使えない。
0186デフォルトの名無しさん
NGNG製品にassertのこしとくの?プリプロセッサなりなんなりで外したり
できんのかな?
まあ、ユーザー環境でassert引っかかるようなら、そもそも品質問題
だろうけど。
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNGなんかの手違いでデバッグ版のobjやらdllやらが混じっちゃうかもよ。
品質問題っちゃそれまでだけど。
0190デフォルトの名無しさん
NGNGんな奴まで知るかボケェ、DEBUG以前の問題じゃ。
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNGassert を自作する。
トッパンから出ているP.J.プラウガーの標準Cライブラリって本が参考になる。
0193デフォルトの名無しさん
NGNG> 引数が 0 のとき発動するんだよな。
なんて考えてるから、混乱するんだよ。
「式を評価し、結果が false の場合はデバッグ レポートを生成します。」と考えれば何の問題もないと思う。
(まあ、MS のヘルプも悪いけどな。)
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNGそうか ?
printf は変数 watch で、assert は条件付ブレークみたいなもんだと思うが。
0197デフォルトの名無しさん
NGNG(゚∀゚)まあそうなんだけど、結局どっちも
「この変数(条件)がおかしかったらバグだよな」
とアタリをつけながらデバッグする手法だし
0198デフォルトの名無しさん
NGNGそこまで言うと、普通のデバッグ技法はすべてそれになっちゃうわけだが。
0199182
NGNG「この変数(条件)がおかしかったらバグだよな」
ってのはそうだけど、ニュアンスが違う。
後からアタリを付けるのではなく、あらかじめそこらじゅうに
assertをばらまいておく。短い関数だとassert行の方が多いくらい。
当然、デバッグを始めてから入れるのでは遅い。
コードを組むときに手当たり次第に入れておく。
敵を探してねらい打ちするのではなく、あらかじめ地雷を
そこらじゅうに埋めておく感じかな?
0200デフォルトの名無しさん
NGNGデタッチができるデバッグツールは存在しますか?
0201デフォルトの名無しさん
NGNGあるよ。
0202デフォルトの名無しさん
NGNGあるなら、いくらくらいもらえるのかな
0203デフォルトの名無しさん
NGNGバグを探すだけの人はデバッガではない。
0204デフォルトの名無しさん
NGNGそんな話はしてないだろ。
0205デフォルトの名無しさん
NGNGどんな話なの?
0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNG私の職場ではGDB(The GNU Source-Level Debugger)を毎日のように起動しているのにバグが修正されません。
誇大広告で訴えるべきでしょうか?
0208デフォルトの名無しさん
NGNGマジレスすると、バグを修正するにはgccも必要。
パッチ作るだけならgdbだけでもなんとかなるが
0209デフォルトの名無しさん
NGNG適当な開設サイトや開設書籍が見当たらない、、、
0210デフォルトの名無しさん
NGNG確か本もあったと思うけど忘れた。
断片的な情報を自分で集めることは必要だろうね。
このサイトなんていいこと書いてる。
ttp://www1.kcn.ne.jp/~robe/index.html
0211山崎渉
NGNG0212山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNGfprintf に昇格だ
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG0217名無しさん@Emacs
NGNGスタックトレース等を行いたいです。
OSはlinuxとWindows2000です。
それぞれの方法を教えてください。
言語はC++でお願いします。
0218デフォルトの名無しさん
NGNGICE
0219名無しさん@Emacs
NGNGOSの権限がないとそういうことできないんすかね?
アプリが落ちたときに、例えばcygwinやwin9xとかだとレジスタやスタックの値が出るじゃないですか。
あれをやりたかったんですが。
スタックトレースぐらいできないですかね?
0220デフォルトの名無しさん
NGNG> 言語はC++でお願いします。
C++ だけじゃ無理。
インラインアセンブラ使え。
あとスタックトレースは常にできるとは限らないぞ。
0221デフォルトの名無しさん
NGNG毎秒ごとにファイルに書き出せば、
落ちても、大丈夫。
Windowsアプリなら、楽に実装できますが。
0222デフォルトの名無しさん
NGNG0223221
NGNG僕は設計しないで書く。
いつも、デバッグしまくり。
たまに上手くいくとうれしい。
そんな人は、グローバル変数がやけに多い人です。
あなたはどうです?
0224デフォルトの名無しさん
NGNGバグデータベースの共有って標準的なスタイルがあるのかな?
0225デフォルトの名無しさん
NGNGWindowsにはSEHと呼ばれる構造化例外処理機構があり、
アクセスバイオレーション、0除算、ブレークポイントなどの例外を
トラップすることができます。
SEHの機能を使って例外ハンドラを登録しておけば、
例外が発生したとき、レジスタの内容が保存されるので、
例外ハンドラの中から、それを参照するということができたはずです。
MSDNにはどこにレジスタの内容が保存されているかは書かれていなかったと思います。
海外のサイトでSEHを解析しているところがあったと思うので、
それを探してみてください。
C++(Visual C++)では例外処理にSEHを使っていたはずなので、
競合しないように注意が必要かと思います。
0226山崎渉
NGNG0227山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNGあげていいですか?
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNG0234山崎 渉
NGNG0235デフォルトの名無しさん
NGNG今まで、
(少しコード書いて→実行→デバッグ)の繰り返しでしたが
最近じゃバグがあんまりでないので、
一気にコード書いて
一気にデバッグやりたいものです。
上の細かいステップじゃ、無駄な実行時間と確認時間が多いのです。
基本的なfprintf(fpやstderr),ASSERT等、
windowsは、上でVCやBCB標準のデバッガを使ってますが
他に何かあればと、
書籍探したのですが
http://www.amazon.co.jp/exec/obidos/ASIN/4756103642/249-4948129-8749118
http://www.amazon.co.jp/exec/obidos/ASIN/4774111252/ref=pd_sim_dp_4/249-4948129-8749118
http://www.amazon.co.jp/exec/obidos/ASIN/4756117457/ref=pd_bxgy_text_1/249-4948129-8749118
http://www.amazon.co.jp/exec/obidos/ASIN/4756102107/ref=pd_bxgy_text_2/249-4948129-8749118
http://www.amazon.co.jp/exec/obidos/ASIN/4756117163/qid=1060413922/sr=1-16/ref=sr_1_0_16/249-4948129-8749118
http://www.amazon.co.jp/exec/obidos/ASIN/4274064166/qid=1060413904/sr=1-1/ref=sr_1_2_1/249-4948129-8749118
http://www.amazon.co.jp/exec/obidos/ASIN/4891001860/ref=pd_sim_dp_5/249-4948129-8749118
やっぱり、あんまりないようです。
とりあえず、
上の2つが気になるので買ってみます。
0236デフォルトの名無しさん
NGNG0237勢いないので、書籍のリンクでネタ振りしてみたの
NGNGもうだめぽ。
>windowsは、上でVCやBCB標準のデバッガを使ってますが
windows上では、VCやBCB標準のデバッガを使ってますが
修正しますた。
0238デフォルトの名無しさん
NGNG2件しかない(デバッグ関係ない)上に
http://page2.auctions.yahoo.co.jp/jp/auction/b39899423
_| ̄|○ こんなのが3万かよ
0240山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0241デフォルトの名無しさん
NGNGデバッガーってどういう風につくってるんですか
オブジェクトコードをオペコード単位でexecみたいなので読み込むとか?
GDBのソース嫁とかなしねv(^_^)v
0242デフォルトの名無しさん
NGNGどうやって作ってるって…
エディターでソース書いて、コンパイラーでコンパイルして、リンカーでリンクする。
↓ここらへんでも読んでみんさい
http://www.ascii.co.jp/books/detail/4-7561/4-7561-1745-7.html
0243デフォルトの名無しさん
NGNGバカジャネーノ
デバッカーの仕組みを聞いてんだよ
誰もコンパイリングの仕方なんかキイテネーヨ
わからんならでシャバン名や
0244241
NGNGたぶん
1,オブジェクトコードを読み込む
2,disアセンブルする
3,ブレークさせたいところにint 3 みたいなのをいれる
4,実行(int 3でとまる)
5,セグメントの変数を見るウマー
ですかね?
0245デフォルトの名無しさん
NGNGチミの質問が余りに要領を得ないからからかっただけよん。
リンクは本物なんで、その本買って読め。
ちなみにint3使うなんてDOS時代のカビの生えた方法。
0246デフォルトの名無しさん
NGNG作者?
やけに宣伝するね
前に立ち読みしたけど内容薄いよ
0247デフォルトの名無しさん
NGNG0248Jonathan B.Rosenberg(偽)
NGNGなら、お前が>>241の電波な質問に答えてやれ。
0249デフォルトの名無しさん
NGNGんじゃないのけ?JavaもVC++もそうヤッテルよね?
0250デフォルトの名無しさん
NGNG0251Jonathan B.Rosenberg(偽)
NGNG全然違う。そのくらいは書いてあるから、私の本を読みなさい。(笑
0252デフォルトの名無しさん
NGNG>>ちなみにint3使うなんてDOS時代のカビの生えた方法。
じゃあどうやるんですか!!!!!!!!
おねがい教えて!!
じゃないとボク逝っちゃうううううううううううううううううううううううう
ああああああああおまんこでるうううううううううううううう
call___main
movl$LC0, (%esp)
call_printf
int$3#←
movl$LC1, (%esp)
ってやったらexception 〜で終了させられました
0253Jonathan B.Rosenberg(偽)
NGNG本代をけちる奴には教えない(笑)
0254Jonathan B.Rosenberg(偽)
NGNG>>243の非礼な態度を詫びるならヒントぐらいはやろう。
0255デフォルトの名無しさん
NGNGIA32のマニュアル下巻にかいてあったのでもういいです氏ね
アクロバットリーダー バージョン 6.0.糞おめぇ
その本「はじめてよむ486」より1000円たかいやん
イッテヨシ
0256Jonathan B.Rosenberg(偽) の本物
NGNG吐いた唾飲み込むなよ。その方法は使えない。
0257デフォルトの名無しさん
NGNGどうしたらいいんだ?
なんか、そういうライブラリがあったような気がするけど、
使い方がわからなかったんだよなぁ・・・。
誰か、教えて。
0258デフォルトの名無しさん
NGNGコンパイルするときアセンブラを出力すればいい
0259デフォルトの名無しさん
NGNGhttp://download.microsoft.com/download/0/6/7/0678184e-905e-4783-9511-d4dca1f492b4/Feb99BugSlayer.exe
を解凍してその中のfigure1.bmpみたいなASSERT作りたいです。
0260デフォルトの名無しさん
NGNG窓はint3でも通ったような気がする。
ちゅーかリリースバイナリに埋め込んどくのやめてくれ。
デバッガで追っかけてると、いきなり止まるんでうざい。
0261デフォルトの名無しさん
NGNGようわかりません
たんにevalしてるだけじゃないんですか標準でついてくるデバッガは
自分で書いたのはこんなかんじ
while(<>){
eval $_;
print $_;#標準出力にevalしたコードをprintする
}
0262デフォルトの名無しさん
NGNGman perldebguts
0263デフォルトの名無しさん
NGNGデバッグ入門〜みたいな本とかないかな。オレ自身はデバッガでプログラム覚えたような
もんで、もう10年以上お世話になっているわけだけれども、最近の新人君なんかはなか
なか覚える機会がないようで。サンプル使ってVCでなんか作る分にはデバッグ機能なし
でもなんとかなっちゃうからねぇ。
プログラムを覚える上でもすげー便利だと思うんだけど、あんまりデバッグ関連の書籍が
ないのはやっぱ出来る人でもデバッガ使わないとかいう人が多いからだろうか。
0264デフォルトの名無しさん
NGNGトレースデバッグしていた。今やるならIDEで追いかける、
条件コンパイル向けにデバッグコード書いてVT端末orファイル
出力でやるんだろうけど。あ、lint使うのもアリだな…構文検査だけだけど。
つか…アセンブラレベルのデバッガ。ソースコードなんざsimtel.netやら
freedos.orgに転がっているのだが…。
0265デフォルトの名無しさん
NGNGlintぐらいは、ざーっとチェックした後、あやしい箇所には
こうじゃないですか? という候補を提示して対話的にささっと
修正できると便利じゃないかと思うんだが。
……俺が知らないだけでありそうな気はする。
0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNG0268デフォルトの名無しさん
NGNGおとなりに塀が出来たんだってね
ウォーーーーール!
0269デフォルトの名無しさん
NGNGうぉっ!
0270デフォルトの名無しさん
NGNG柔道着ブルマのスレ作ったのはあんたか?
0271268
NGNG解説キボンヌ
帯ギュは未読
読んだ方がよろしいの?
0272デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNGEmacsとセットで使うといいかも。
0276デフォルトの名無しさん
NGNG投稿欄・・・
そんなところまで見なければならないのか
デバッグには観察力が問われるということか
0277268
NGNGとにかくデバッガ上で動作を追ってみるのが先か。
けっこう迷うね。
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNGstatic void DBG(char* fmt, ...)
{
char buf[256];
va_list args;
va_start(args, fmt);
vsprintf(buf, fmt, args);
va_end(args);
::OutputDebugString(buf);
}
0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNG256文字かよ
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNG当方、環境はVCだけど、関数の開始に前提条件を満たしているか && 戻り値は有効範囲内か
ASSERTマクロつかってチェックしてます。
>>282のマクロも#ifdef _DEBUGで作って使ってますね。
関数処理の分岐点の進み方とか、気になるパラメータなんかを出力しております。
crtdbg.hの関数の使い方がいまいちわからなくて、効率よさそうなDebug方法知りたいのですが
書籍とかマジでないんですよね。誰か出し惜しみせずにガンガンDebug技術披露してください。
そんで密接な関係のあるテストなんすけど、中身見れたらいいのですが、Win32APIなんかの関数
って非公開だし、わざわざ挙動のテストするのもめんどうなんですよね。
(例えばトップダウンDIBなんてあるけどLoadImage関数は読み込めないとか)
win32APIスレもあるんですが、あっちは質問スレなのでどうかと思うし、こっちでDebug技術と関数
テストっぽい内容話し合ってもいいかなと思うのですが、却下でしょうか。
単発っぽい内容よりある種類の関数と引数の対応表とでもいうか、自分でやったことあるテストを思い切って
公開してみてほしいかもしれません。
0287デフォルトの名無しさん
NGNGみたいなダイアログが出た時、ソースのどの部分かを特定するにはどうしたら
いいんですか?
詳しく説明されてるサイトなど教えてください
0288デフォルトの名無しさん
NGNGソフトウェアテストに関する書籍は出てるでしょ。
あとassertマクロはチェックを期待するのはやめたほうがいいです。
せいぜいコメントのつもりでいれましょう。
(assertでなくてASSERTってのがあるのかな?)
0289デフォルトの名無しさん
NGNGリンカのマップファイルをみればいいのでは。
あるいは実行ファイルからラベルのアドレスを抽出するか、逆アセンブル
すれば分かる。
0290デフォルトの名無しさん
NGNGVCにはASSERTとASSERTEマクロがCランタイムのassertと同じ役割を果たします(後者は評価式を表示)
VCのデバッグバージョンだと_DEBUGが定義されるのでそのときのみ実行される仕組みになってます。
なのでReleaseバージョンのオーバーヘッドにならずに、コードを書きながら埋め込めるので、
自分のライブラリなんかも何か挙動がおかしくなったりするかもしれないので使うときはデバッグ版使ってたりします。
デバッグブレークもしてくれるので重宝しているのですが、やはりコメントのようなものかもしれません。
# もっといい引数チェック法あったら教えてください
あと、heapのポインタをうけとったときにサイズも引数で受けるのですがheapポインタのバッファって
どうやって計算するんでしょうか。
やはり、(heapの要領 == size * sizeof(TYPE))で評価しておいたほうが妥当かな、と思うわけです。
ついでに、ソフトウェアテスト法というより、テスト結果が知りたかったりします。
0291デフォルトの名無しさん
NGNG>あとassertマクロはチェックを期待するのはやめたほうがいいです。
これはなにか理由があるのでしょうか?
0292デフォルトの名無しさん
NGNGもう少し詳しくおながいします
0293デフォルトの名無しさん
NGNGもしかしたらポインタの値をチェックするときNULLでなければ通ってしまうということかもしれない。
不定な値のままだと通っちまう、0じゃないから
0294デフォルトの名無しさん
NGNG元々チェックしなきゃならんものをassertに入れる方が間違いでは。
0295294
NGNG0296デフォルトの名無しさん
NGNGテストと言うのはリリース版でやるものです。
リリースするものと違うものをテストしたって意味無いから。
多分その時はassertは無効になっている(してる)。
ただ、バグの原因を探るためにはデバッグ版が使えるので、その時にはassertがかかって
くれるかもしれない。だから入れないより入れた方が役に立つ。
0297デフォルトの名無しさん
NGNGコンパイラとOSは?
VC++とかだと、リリース版でもデバッグ情報ありにしてコンパイルすれば
場所が分かるじゃん。(当てになるんだっけ?)
GCCとかだと、gdbを使う。
情報が無ければ>>289としかいいようがない。
0298292
NGNG明日試してみます
もう寝ますので明日の朝までにもうちょっと具体的に書いといてください
0299デフォルトの名無しさん
NGNGリリース版にデバッグ情報埋め込むよりも、MAPファイルを出力してそこから割り出すのがベスト
0300デフォルトの名無しさん
NGNGテストして欠陥を見つける。
欠陥を修正するのがデバッグ。
TDDのUnit Testは、ちょっと違うけどな。
TDDだと、欠陥の修正=開発。
アサーションはプログラマの意図の表明。
早めに欠陥を見つけるためには役に立つこともあるが、
デバッグに使うものじゃない。
むしろ、ドキュメンテーションの一部と考えたほうがいい。
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNGむしろ "デバッグ" と "開発" で区別して考えている時点で負けている
0304デフォルトの名無しさん
NGNG0305デフォルトの名無しさん
NGNGルールがなくて後からこれやって言われます。
なにしていいかわからんのです。
コーティング&テストしながらなんで動作はしているんだけど
テストしているときってのがデバッグみたいなもんじゃないですか
んで何を入力したかをメモとってないから
またもう一度テストデータ入力して二度でま
ちょこちょこコード変更する段階だとメモとる気がしないんだよな。
やっぱり先に動作からテストパターンを考えてからやればいいのかな
なんか自己完結してるようなきもするが。
どんなデバッグの仕方してますか?
0306デフォルトの名無しさん
NGNGこんなんでいいの?
単純に比例関係の計算ルーチンa(x)をしらべる
x=0;
//正の数
for(i=-0;i<33;i++)
{
Py[i]=a(x);
x=x+1;x=x<<1;
}
//x=32bitALL1
//負の数
z=1;
for(i=-0;i<31;i++)
{
Ny[i]=a(x);
x=x+z;z=z<<1;
}
配列の中身の正負が途中で変わってたらオーバーフロー?
0307デフォルトの名無しさん
NGNG>またもう一度テストデータ入力して二度でま
呼び出しテストプログラムから実行させて確認してないのか?
例えば int func() をテストしたいなら
test_xxxx()
{
int ret=func(パラメータ);
if(ret==エラー){
えらーになりましたよ
}else{
大丈夫でした
}
}
0308306
NGNG「C言語 入門書の次に読む本」を立ち読みして
関数ラッパという物を知りました。
目からうろこです。
しばらくいろいろデバッグ用のコード作ってみようと思います。
一度つくれば先まで使えるはずですし。
あいにく時間だけはあるので。
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNGあるじゃないですか。
その0x○○○が、ソースコードのどの位置に該当するかを調べる方法を詳しく書いたサイト
とかないですか?
mapファイルを作成してどうこうという説明をどこかで見かけたんだけど忘れてしまいました。
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG簡単にトレースできるツールって無いですか?
0313312
NGNG�@全ての関数内で、実行時間を保存するstatic変数を定義する。
�A全ての関数の引数に、フラグ用の変数を一つ追加する。
�B通常は�Aのフラグを0にして各関数を呼ぶ。全ての関数の最初と
最後にtimes()等を呼んで、その関数の処理時間を�@の変数に足す。
�Cプログラム終了時に、�Aのフラグを1にして全ての関数を呼び出し、
�@の変数の内容を各関数内で出力させる。
という方法は思いつくのですが、100個近い関数に全てこれを行うと、
新しいバグを作りそうなので、もう少し簡単な方法はないでしょうか。
0314デフォルトの名無しさん
NGNG0315312
NGNGありがとうございます。
(一瞬悩みましたが、ローマ字表記ですね。)
0316312
NGNG"gprof" とか、私のlinuxマシンにも入ってたし…
一応、"処理時間"とかで一生懸命検索してみていたのですが、
初心者にとってはキーワードを知らないというのが致命的だった
みたいです。助かりました。
0317デフォルトの名無しさん
NGNG「プログラム」「処理時間」「関数」くらいで出てくるが
本当に調べたのかと
小1時間も付き合う気はしない
0318デフォルトの名無しさん
NGNG週休0日で平均睡眠時間3時間でも稼働できる体力
他人の大ボケなミスでも笑って直せる忍耐力
給料にはなんら反映されないと知りつつも頑張れる奴隷根性
こんなもんかね
0319312
NGNGご批判ありがとうございます。
日常生活では、歯に衣着せず批評してくれる人は
あまり居ないので、大変ためになります。
いままでデバッグツールを使いこなさずに(存在すら知らずに)
効率の悪いやり方をしていたんですが、"valgrind" と "gprof"
を使ってみて、今までいったい何をやってたんだろう、という
感じです。ここの皆さまのおかげです。
0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNGこのスレだけ10年前みたいだ
0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNG0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
05/03/17 03:55:480329デフォルトの名無しさん
05/03/17 09:56:530330デフォルトの名無しさん
2005/04/06(水) 15:59:510331デフォルトの名無しさん
2005/04/06(水) 22:24:54正常な目を持つ人なら見れば分かる
0332デフォルトの名無しさん
NGNGデバッグバージョンに再定義する。
0333デフォルトの名無しさん
2005/04/08(金) 17:36:04何で包茎が本の表紙になってるんですか?
0334デフォルトの名無しさん
2005/04/08(金) 17:38:182週間も雇えるのか…
その計算でいくと1ヶ月50万いかないぞ?
0335デフォルトの名無しさん
2005/06/17(金) 18:28:11負荷ツールを使うとOSも重くなるのでうまく動作しません。
0336デフォルトの名無しさん
2005/06/17(金) 18:30:16言語は?
0337デフォルトの名無しさん
2005/06/17(金) 18:34:110338デフォルトの名無しさん
2005/06/18(土) 07:57:27すみませんが方法を教えてください。
0339デフォルトの名無しさん
2005/06/18(土) 17:27:30何がわからないのかね?
0340338
2005/06/18(土) 21:10:05double a = 100
double b = 0;
a = a / b;
が発生していると予測できるのですが、
その場所とタイミングが不明です。
メモリーリークは、BoundsCheckerでチェック可能ですが、
ゼロ除算やオーバフローについても
簡単に見つける事はできないでしょうか?
0341デフォルトの名無しさん
2005/06/18(土) 21:41:540342デフォルトの名無しさん
2005/06/18(土) 21:46:01古典的に
ログ出力
0343デフォルトの名無しさん
2005/06/18(土) 22:09:52除算なんてそんなに出てくる計算じゃないよ。
ソースの中をすべて"/ "(斜線とスペース)で検索かけてチェックしろ。
0344デフォルトの名無しさん
2005/06/19(日) 04:18:35#define DIV(a,b) (a/b)
#else
#define DIV(a,b) (b==0?TRACE(_LINE_):(a/b))
#endif
0345デフォルトの名無しさん
2005/10/27(木) 18:21:570346デフォルトの名無しさん
2005/10/27(木) 20:20:19#include <float.h>
int newmask = _EM_ZERODIVIDE;
_controlfp(0, _MCW_EM); // すべての浮動小数点例外を有効にする
0347346
2005/10/27(木) 20:21:210349346
2005/10/28(金) 11:16:50…と思ったら、役にたったようで何より。
>MSDNヘルプ?
「浮動小数点 例外」でググったら
_control87 ってのが見つかったから
後は MSDN ヘルプで。
0350デフォルトの名無しさん
2005/11/06(日) 21:28:30頭の中でプログラムが勝手に走り出す
問題箇所でコードが止まる
翌朝・・・忘れてる
0351デフォルトの名無しさん
2005/11/08(火) 18:11:12夢の中ではバグ取れたんです!
0352デフォルトの名無しさん
2005/11/16(水) 19:20:49$make
でインストールしたものは、デバッグが可能なのでしょうか?
gcc -g hoge.c
gccではなくmakeを使ってコンパイルしたものでは勝手はどう変わるんでしょうか?
0353デフォルトの名無しさん
2005/11/16(水) 19:30:490354デフォルトの名無しさん
2005/11/16(水) 21:01:250355デフォルトの名無しさん
2005/11/17(木) 07:50:41makeファイルの記述によるでしょう。
0356デフォルトの名無しさん
2005/11/27(日) 18:12:50./configure CFLAGS='-g -Wall' でびるど。
古いconfigureだと、env CFLAGS='-g -Wall' ./configure とか、
それでも効かなきゃconfigure後のMakefileを直接いじる。
0357デフォルトの名無しさん
2005/12/10(土) 18:22:13私結構好きなんですけど。
今、制作は制作会社に、デバッグはテスト専門会社に依頼してるんだけど、
�@テスト計画立てる
(最初から全部の要素が実装されるわけないし、製品によって重点的にテストするべき部分は違うので、
テストする順番を考え、場合によっては制作会社に実装順をリクエストしたりする)
�Aテスト用チェックシートを作る
このチェックシートの出来が悪かったり、意味不明だったりするとテスト効率が下がるので気合が入る
(他人が考えた仕様を理解するのは結構重労働だが)
�Bデバッグ部隊用に仕様書への補足資料を作ったり、バグを制作会社に報告して直してもらうのが楽しい
スケジュールどおり順調に納品できるとホントうれしいですよね・・・
0358デフォルトの名無しさん
2005/12/10(土) 22:00:40デバッグは金にならない
ゆえにデバッグしない
0359デフォルトの名無しさん
2005/12/10(土) 22:08:49そして客のところでバグ発覚してかえってコストがかさむ、と。
デバッグとかテストは金にならない仕事じゃなくて、
余計な金をかけないための仕事。
0360デフォルトの名無しさん
2005/12/10(土) 22:41:390361デフォルトの名無しさん
2005/12/11(日) 01:50:090362デフォルトの名無しさん
2005/12/12(月) 05:37:550363デフォルトの名無しさん
2005/12/12(月) 23:07:27そこまで気づいてるなら、やるべきことはそう多くないと思うが。
0364デフォルトの名無しさん
2005/12/24(土) 17:44:21どんな関数が順番に呼び出されたかを知る方法ってありますか?
ltraceは共有ライブラリ、straceはシステムコールの呼び出しを
知ることができますが、.oファイル内の関数呼び出しは分かりません。
イメージ的には、全関数の定義の先頭に printf("%s\n", __func__);
を挿入するのと同じことをもっと楽にできないかという感じです。
0365デフォルトの名無しさん
2005/12/24(土) 17:55:110366デフォルトの名無しさん
2005/12/24(土) 23:41:280367364
2005/12/25(日) 01:14:07gprofは調べていたのですが、順番は出力できないようです。
内部的には、いつどんな関数を呼んだかを記録しているとは
思うのですが…。
>>366
すみません、書き忘れました。Linuxです。
0368デフォルトの名無しさん
2005/12/25(日) 03:42:03gccなら-finstrument-functions使えば
ファンクションコールトレーサーが簡単に作りこめる。
http://www-06.ibm.com/jp/developerworks/linux/050722/j_l-graphvis.html
このへんに詳しい。
0369364
2005/12/28(水) 01:47:44やってみたところ、順番に呼び出された関数名を取得できました!
gccのそのオプションも知らず、勉強になりました。
ありがとうございます。
0370デフォルトの名無しさん
2006/01/03(火) 22:34:44転職活動用の職務経歴書に書く場合は、どういう言葉で書けばいいの?
「ソフトウェア品質管理業務」でいいのかな?
「デバッグ業務」だと、「デバッガ」と解釈されそうなので悩む・・・
0371デフォルトの名無しさん
2006/01/03(火) 23:40:34「デバッグ統括業務(テスト会社への指示出し)」
0372デフォルトの名無しさん
2006/01/04(水) 00:02:190373デフォルトの名無しさん
2006/01/04(水) 00:07:40「ソフトウェア品質管理業務」でいいと思うんだが…
0374デフォルトの名無しさん
2006/01/04(水) 01:20:100375デフォルトの名無しさん
2006/01/04(水) 18:54:48同意。
まあ、>>374みたいな印象持ってる奴が多いのも残念ながら事実だけど。
製造系でQCと製品検査を同一視する奴もいるし。
0376デフォルトの名無しさん
2006/01/10(火) 13:22:580377デフォルトの名無しさん
2006/01/20(金) 18:30:02その時と場所の指定まではしていない。
つまり……我々がその気になれば、
『バグの発見は製品リリース後に客先で』
ということも可能ということだ。
0378デフォルトの名無しさん
2006/01/27(金) 15:38:27fork()した後の子プロセスのデバッグ方法がわからん・・・
親プロセスではなく子プロセスのステップ実行をしたいのに…orz
0379デフォルトの名無しさん
2006/02/04(土) 11:48:41客先で見つけるSさんは悪魔です!
0380デフォルトの名無しさん
2006/04/22(土) 19:24:05>いま他人のプログラムをデバッグしている。時間がもったいないので目視のみだ。
>私の場合、小さなクラスならば、目視のみでほぼ100%デバッグできる。
「100%バグが取れた」と無邪気に確信でき、平気で吹聴できる辺りが痛杉。
0381デフォルトの名無しさん
2006/04/22(土) 21:21:59「小さいクラス」なら机上デバッグでほぼ問題とれるっしょ
机上デバッグせずにいきなりデバッガ起動したりする馬鹿は論外だけど
0382デフォルトの名無しさん
2006/04/23(日) 01:19:290383デフォルトの名無しさん
2006/04/23(日) 01:33:18「見つかったバグが修正できている」かはテストするまでわからんし、
ましてや「100%取れた」なんて発言は潜在バグを全部把握してる神宣言ですか。
0384デフォルトの名無しさん
2006/04/23(日) 01:50:030385デフォルトの名無しさん
2006/04/23(日) 13:06:13受注のゲーム屋社長で、修羅場経験値だけは多い現場たたき上げ系。
何冊か本も書いてるが、立ち読みした限りでは教育者の才能はない。
凄いかといえば凄い部類には入るんだろうが、見て分かる通り、率直にいってウザい。
最近は若手の取り巻きが増えて調子に乗ってるせいか、ウザさ倍増中。
ただまあ、言ってること自体は別段普通のことだと思う(100%はさすがに吹きすぎだが)。
最近の若手は高速な開発環境でtry and errorに慣れすぎてるせいで、
机上(脳内含む)設計なしでいきなりコード突っ込む奴が多いのかもしれん。
設計ができない奴はテストケースも作れないから、まともなモノは作れやしない。
そんな奴とっとと首切れと言いたいけどな・・・。
0386デフォルトの名無しさん
2006/04/23(日) 14:13:47○ trial and error
△ トライアンドエラー
○ 試行錯誤
0387デフォルトの名無しさん
2006/04/23(日) 17:01:320388デフォルトの名無しさん
2006/04/23(日) 21:27:52とはいえひらめいたアイディアをいきなり書き始めなくなったのは
多少大人になったっちゅーことか。時間に余裕があるときは三日
くらい寝かせてた頭の中で転がしてから作り始める。
大抵もっといいアイディア(もしくはそんなことしなくてもいい理由)
が浮かぶね。
0389デフォルトの名無しさん
2006/04/23(日) 21:31:41エラーさせるケース、正常動作するケースをコーディングの前か後ろで用意して
ころあいを見計らって動かしたりするね。
で、エラー部分と正常部分のアウトプットが正しいことは確認してる。
そんなの当たり前か
0390デフォルトの名無しさん
2006/04/24(月) 02:13:22要するに中小下請けのデジタル土方なのね。ショボ。
0391デフォルトの名無しさん
2006/04/24(月) 03:41:59違うでしょ?
0392デフォルトの名無しさん
2006/04/24(月) 06:47:20・施工者と別の組織により
・現場毎に集められ
・単純労働
・日給月給
労働なので能力、成果はあまり問われない。
請負のように納期・性能を守れない場合のペナルティはない。
土方と書くと 幕末の剣客の事となるので注意
0393デフォルトの名無しさん
2006/04/24(月) 22:09:480394デフォルトの名無しさん
2006/04/25(火) 00:13:26目から怪光線を発してPCを操作してる図が浮かんで
AA化しようとしたが挫折した…。
 ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧ ∧
( ,,)
./ |
(___/
/
0395デフォルトの名無しさん
2006/06/03(土) 05:22:44デバッグ技法として内部構造に着目したテストをやってる人っています?
例えば、内部データ構造の矛盾(ユニーク前提のデータが重複していたり)を検出したりとか。
文献とかでこういうののノウハウを扱ったのがあればいいんですが。
0396デフォルトの名無しさん
2006/06/03(土) 23:12:03監視タスク仕込んだりしたことはあるな。文献とかいうレベルじゃないが。
0397デフォルトの名無しさん
2006/06/03(土) 23:44:26おまいが求めてるのとは違うだろうけど、
ttp://www.tietew.jp/cppll/archive/8105
こんなのもあるぞ。
0398デフォルトの名無しさん
2006/08/12(土) 22:15:41DevPartnerとかInsure++は高くって買えん
0399デフォルトの名無しさん
2006/08/13(日) 00:08:30GlowCodeの体験版使ってみたことあるけど結構よかった。
0400398
2006/08/16(水) 03:36:32配列をオーバーしたアクセスとか、初期化されていないポインターのアクセスを検知するようなツールはないでしょうか?
0401デフォルトの名無しさん
2006/08/16(水) 03:58:070402デフォルトの名無しさん
2006/08/18(金) 13:59:590403デフォルトの名無しさん
2006/08/29(火) 21:48:39■ このスレッドは過去ログ倉庫に格納されています