• ベストアンサー

再現性の無いバグ

C++に対する一般論で結構なのですが、再現性の無いバグが出た場合、 皆さんはまず最初に、何を調べたり、何を考えたり、 どのように行動したりしますか?

noname#108554
noname#108554

質問者が選んだベストアンサー

  • ベストアンサー
  • toshi_yn
  • ベストアンサー率50% (5/10)
回答No.2

再現性の無いバグは時折、経験しますね。 基本的には一度出たものは必ず発生します。 経験から言うと対処しないと必ず発生し、後に痛い目に会いました。 「再現性の無い」というは以下のように考えています。 ・開発者自身の想定外の使用方法/組合せ(但し、何れ起こる) ・システムの不安定により、想定外のタイミングで動作する →例えば書き込みと読み込みのタイミングが逆転するなど・・ ・想定外のデータ形式を処理してしまう  ・・・などなど 対処するには次のようなことを心がけています。 ・別のマシン(遅いPC)などで確認する ・起こりうる状態を考え、エラー回避(例外)対策を十分行う。 ・エラーメッセージなどが捉えにくいときもありますが十分エラーメッセを検討する 時には勝手にリソースの内容が書き換えられてしまうなんていうのもありますから、小生も抜本的な対策はありません。 以上、何かの参考になれば幸いです。

noname#108554
質問者

お礼

別のマシンでやってみたら治まりました。 ありがとうございました。

その他の回答 (2)

  • matyrcry
  • ベストアンサー率47% (101/213)
回答No.3

出ないときは、出し方を想定して故意に出してみます。 その具合を評価すれば見えてくることも多いですよ。 条件の一部が分からないので結果から発端の原因まで辿り着けない 場合もありますよね。 確立論で説明できる問題でも、発生頻度が数ヶ月に1回だったりす ると検証する時間がとれないこともあります。 シリアル通信で3000万分の1程度でデータが崩れるという問題 に先日悩まされまして、問題は送信側にあることは分かっているの ですがどうしても原因が分からないので、受信側で直前100回分 の受信データを保存して崩れを比較検出するようにしました。 元を絶てなくても最終段の出力に達するまでに破棄できればいいと いう話もフィールドではよくあります。

noname#108554
質問者

お礼

別のマシンでやってみたら治まりました。 ありがとうございました。

  • ap10
  • ベストアンサー率33% (453/1356)
回答No.1

「再現性がない」と判断したのであれば、自分は放置します ある程度調べて再現しないと判断したのであれば、それ以上調べるのは時間の無駄と考えるからです というより再現しないならば、問題はないからです ただし、「再現性はあるが、再現方法は判らない」状態であれば、調査します その際は、やはり現象発生時と同じ状態を作り同じ操作を繰り返してみるといったところでしょうか 現象発生時と同じ状態とは、OS のシステムタイムだったり CPU に対する負荷状況であったり、そのプログラムを連続で動作させていた時間等です 兎に角、同じ状況を作ってそれでダメなら、ひたすら考え得る事をやるしかないというところでしょうか 正直、バグといっても色々あるので、何から攻めていくか判りません もし何らかのメッセージが出てるならば、当然そこから調べていきます 頑張って下さい

noname#108554
質問者

お礼

ありがとうございます。 放置ですか・・・ とりあえず、別のマシンで実行したところ、 今のところ止まらないので、問題ないようですが・・・ >OS のシステムタイムだったり CPU に対する負荷状況であったり、そのプログラムを連続で動作させていた時間等 これは大変ですね。 このへんを解説しているHPなり本なりを紹介していただけますか?

関連するQ&A

  • HPのバグで対処に困っています

     ホームページを作ろうと勉強中なのですが HTMLやCSSでの制作でバグが出たとき皆さんはどうしてますか? CやC++だとIDEをつかってバグに対処するんですが、ホームページだと そうもいきません。 自分はStyleNote5を使っています。 しかし、あれではバグがどこにあるのかハッキリと分かりません。  皆さんはどうやってHTMLやCSSのバグを潰していますか? どうかよろしくお願いします。

    • ベストアンサー
    • HTML
  • 再現性の考え方について。

    ある活性についてn=3で実験を行っています。 (1)同じサンプルで3回実験を行い、同じ様な結果が出た場合に再現性があると評価する。 (2)実験毎に新たにサンプルを調製しなおして実験を行うというのを3回繰り返して行い、同じ様な結果が出た場合に再現性があると評価する。 (3)別な人が同じ実験を1回行って、同じ様な結果が出た場合に再現性があると評価する。 私は(1)~(3)の内、(1)はサンプルの誤差をみていて(2)あるいは(3)を満たしていたら再現性があると評価できると思うのですが・・・。実際のところどうなのでしょうか?また、最終的な活性の値はどの値を用いればよくて、これといった計算方法はあるのでしょうか? どなたかご教授下さい。宜しくお願いします。

  • 進化論の再現性

    未だにどうも分かっていないので、教えて下さい。 進化論は再現されている、という言葉を時々聞くように思います おそらく、小さな変化(変遷)が起こっている事を言っているのかと思うのですが、この僅かな変遷の繰り返しが、ある種から別の種へ変わることに繋がったという実例が目撃されたことはないですよね?  たとえば、ショウジョウバエに何千回と放射線を当てたところで、変種はできるもの、ショウジョウバエはショウジョウバエのままだそうですね。 私の理解では、進化論というのは、種内の変遷(多様性)ではなく、ある種から別の種へどうしたら変遷するかを説明する仮説だと思っているのですが。。。。 進化論は再現されている、と言えるのでしょうか?? どうもよく分からなくて・・・

  • ロマンシングサガ3の状況再現について

    おはこんばんは。 さて、タイトルの通りご存知の方もいらっしゃるでしょうが ロマンシングサガ3(に限らずですが)状況再現という小技があります。 この状況再現とは何かというと 例えば「モンスターがレアなアイテムを落とした」 という状況をセーブしてもう一度同じことをやると またレアアイテムを落とす「与ダメも被ダメも同じになり、レアアイテムも必ず落とす」 という実質「無限増幅」のようなシステムのことだと思います。 つまり (1)レアアイテムを落とす状況を再現するには全く同じ行動をしなければならない (2)異なる行動を取った場合状況は再現できずまた新たに乱数取得を行う ということだと思うのですが、ここで疑問な事は 「じゃあレアアイテムを落とさなかった場合と違う行動を取ることによってレアアイテムを取得できるのか?」ということです。 例えばロマサガ3では「竜槍スマウグ」を入手したい場合ドラゴンルーラー系の敵と戦わなければなりませんが 最も簡単に入手するならば氷の剣を守っているドラゴンルーラー(白) が手っ取り早いと思われています。 では、ドラゴンルーラーと戦う前に「状況再現するため」にセーブしますが 逆に「状況を再現しないため」にセーブすることに意味はあるのでしょうか? つまり「落とさなかった状況を再現せずに、戦闘前のセーブデータを使って消去法で再現できる状況まで持っていく」ということです。 わかりづらかったら申し訳ありませんが ドラゴンルーラー(白)と戦闘する場合も雑魚はよけばければならないし ドラゴンルーラーは一度倒すとマップを移動しなければ復活しないという条件があるので 「落とさなかったから同じセーブデータで異なる行動を取れるのならば一々マップを移動しなくて済む」 と考えたわけです。 どうなんでしょう?意味はあるんでしょうか。 能力値はマックスなので技術やHPの成長は度外視して あくまでも槍を落とす状況に持っていくにはマップ切り替えしか手段がないのか という疑問でした。 どなたかご存知の方がいらっしゃれば回答を頂ければ幸いです。 今も戦ってるんですけどね・・・出ないんだもの。

  • パソコンのバグはなぜ無くすことができないのか?

    MacにもWINにもバグがありますよね。 その原因として周辺機器との問題や、後から入れたアプリケーションとの問題などは理解できるのですが、 そのOS自体も最初からバグをかかえているのですか? もし、そうだとしたら、私には理解できませんが、皆さんは理解しているのですか? MacOS9.2.1は、起動時にエラー&コンフリクトを起こしますし、ザ・ウィンドーズXPも一時間でコンフリクトを起こしました。 このままだと、いつまでたっても一部の人々にしかパソコンが受け入れられないと想うのですが。。。 パソコンのバグはなぜ無くすことができないのでしょう?

  • バグはあってあたりまえ?

    6年、PG、SEでいろいろ仕事(派遣で)をしております。 今の派遣先でのプロジェクトなんですが、 仕様書なし、テストなし、バグだらけのものを納品しております。ある意味、楽なんですが、汎用機あがりの私としては、非常に苦痛で、ストレスがたまる毎日です。 最近、よく聞くのですが、「バグなんてあってあたりまえ、マイクロソフトだってバグがたくさんあるでしょ」って。これって、あたりまえの考え方ですか?たしかに、仕様バグ、コーディングバグ、全てを取り除くのは、不可能かもしれませんが、バグがないよう、何度もチェックして納品するのがあたりまえだと思っております。これだとコストがかかるのでよろしくないって考える方が多いのでしょうか? みなさんは、どうお考えですか?

  • 進化に再現性があるのだろうか?

    次のような文を、以前どこか(失念)の掲示板で見ました。最近おぼえがきメモを見返していたら、でてきましたもっと詳しく知りたいと思いましたので、関連するようなことを教えて下さい。 「近年の分子生物学では、DNAでもともと進化はコードされていたと言う説もあります。 猿は必ずいつかは猿になりヒトはいつかはヒトになると言う説。 (仮にこれが正しければ、再現性もあります) ダーウィンの進化論とはちがう説ですが進化論もいろんな考えがある」

  • ELISAの再現性

    生体成分のELISAを検討しております。 アッセイ内での同時再現性はよいのですが アッセイ間での再現性が非常に悪いです。 S/N比もばらばらです。 3-AbシステムのELISAをやっているのですが 全ての免疫反応を一日でやっています。 o/nをはさんだほうが良いのでしょうか? また一般的にアッセイ間の再現性をよくする にはどのような方法があるのでしょうか?

  • Excel2003のRAND関数のバグは再現する?

    Excel2003のRAND関数には(本来返ってくるはずのない)負の乱数をまれに返してくるというバグがあることが知られています(下記のMS社サイトをご参照ください)。 http://support.microsoft.com/default.aspx?kbid=834520 私が使っていたExcel2003はパッチ適用済みのSP-1のため、この不具合は起きなかったのですが、先日、たまたまハード的なトラブルがあり、PCを OS(Windows XP)から再インストールする必要が生じたため、Office2003(無印の初期出荷バージョンです)をインストールした直後にこのRAND関数の不具合を確かめてみようと思い、画面いっぱいにRAND関数の数式を500個ぐらい作成して、200回以上再計算を実行させてみたのですが、1つもこの不具合が再現しません。 この不具合については、英語で書かれたサイトをGoogleしてみると、画面図入りでこの不具合を説明しているページがいくつか見つかりますが、日本語のサイトでは「~らしい」とか「~によると」といった伝聞形で紹介しているページばかりで、実際に不具合が出ている画面を掲載しているページは見あたりません。 それゆえ、ひょっとしたら、この不具合は(上記のMS社サイトには何も書かれていませんが)英語環境 あるいは英語版Officeに限って発生するものかな?と思っていますが、実際にこの不具合に出合った方 あるいは今でも再現できる方がいましたら、ぜひ、どんな環境で再現するのか、ご教示ください。よろしくお願いします。 ちなみに、別にこの不具合で困っているワケではありませんので、対応策についての回答は不要です。たまに人にExcelなどを教える機会があるため、知識として知っておきたいという趣旨です。 ※この質問、2週間ほど前に一度投稿しましたが、回答がありませんでしたので、再投稿するものです。マルチレスではありませんので、ご了解ください。

  • バグかどうかを確認したい

    こんにちは。 先日、中古のゲーム店で 「ポケットモンスター ルビー」 を買いました。 そして、ゲームをしてみたのですが・・・。 中古なので前の人の記録が残っているのは当たり前なのですが、その記録は、 「レベルの高いポケモンや珍しいポケモンが多数いる」 「ストーリーはすべてクリアしてある(殿堂入りまで)」 とか、とりあえずスゴいんです。 しかし、これだけクリアしてあるソフトが中古で売っていたとなると、バグかどうかを心配してしまうのです。 「ソフトをバグらせたから、または裏技を使って調子が悪くなったから手放したのではないか」 とか・・・。 なので、ポケモンに詳しい方に質問です。 このソフトが、裏技やバグを使ったものであるかどうか、確認する方法はありますか? また、裏技やバグが見つかった場合、「最初から」にすれば治りますか? 私は回答を携帯から見ることが多いので、URLを付けてくださる場合は、本文にお願いします。 それでは、ご回答をよろしくお願いします。

専門家に質問してみよう