none
「バッファ オーバーランの問題をデバッグする方法」とはなんでしょうか。 RRS feed

  • 質問

  • 
    

    MV C++2008を使っております。Menshin_TPS_Pro161121というフォルダの中に、Menshin_TPS_Pro.slnがあります。次のバージョンを作るときはフォルダをコピーして、たとえば、Menshin_TPS_Pro161220などどして、Menshin_TPS_Pro.slnを使っています。今まではこれでうまくいっていたように思ったのですが、久しぶりに、新しく、Menshin_TPS_Pro170214を作って、クラスにプロパティを追加して、デバッグモードで実行すると、計算は実行されているようなのですが、最後の最後にバッファオーバーランが発生し、プログラムが破損しましたとなってしまいます。どの様に対処したらよろしいかお教えいただけると助かります。よろしくお願いいたします。

    
    
    
    2017年2月14日 13:13

回答

  • >どの様に対処したらよろしいか・・・

    については、プログラムに瑕疵があるので(又は、入れてしまったので)、
    「VisualStudio及びC/C++言語に詳しい方に対象のコードをデバッグしてもらう」
    というのが回答になってしまいます。

    参考になるかどうかわかりませんが、一般に「バッファーオーバーラン」エラーは、
    想定したメモリー容量を超えた位置のメモリーを参照することによって発生します。
    クラスにプロパティを追加しただけで、そのような問題が発生するのは、
    もともとのコードに設計上の弱点がある疑いも想定しなくてはなりません。
    そういった意味ではプロを雇った方が良いかもしれません。

    2017年2月15日 1:20

すべての返信

  • 回答ではなく質問です。

    「クラスにプロパティを追加して、デバッグモードで実行すると」とありますが、追加する以前のコードに戻したり、元のフォルダをコピーしなおしたりすると、エラーは発生しないのでしょうか?もしそうでしたら、追加したコードに原因がある可能性があります。追加したコードをご提示することは可能でしょうか?

    より具体的に、できる限り多くの情報をご提示されたほうが回答が得られやすいかと思います。

    2017年2月14日 16:01
  • 疑問なのですが、解決したいことが何で、回答者に答えてもらいたい内容は何でしょうか? もしかして「画面のどこどこをクリックすればバッファオーバーランは発生しなくなります」のような回答を想定されているわけではありませんよね?
    まず間違いなくプログラムに誤りがあり、ソースコードを修正しないことには解決しないわけですが、それがわかっていればこの質問文でどのような回答が得られるとお考えなのでしょうか?

    フォーラムのご利用方法(質問の投稿)についてを熟読されることをお勧めします。

    2017年2月14日 21:52
  • >どの様に対処したらよろしいか・・・

    については、プログラムに瑕疵があるので(又は、入れてしまったので)、
    「VisualStudio及びC/C++言語に詳しい方に対象のコードをデバッグしてもらう」
    というのが回答になってしまいます。

    参考になるかどうかわかりませんが、一般に「バッファーオーバーラン」エラーは、
    想定したメモリー容量を超えた位置のメモリーを参照することによって発生します。
    クラスにプロパティを追加しただけで、そのような問題が発生するのは、
    もともとのコードに設計上の弱点がある疑いも想定しなくてはなりません。
    そういった意味ではプロを雇った方が良いかもしれません。

    2017年2月15日 1:20
  • いろいろ書き込みたいのですが、投稿欄にテキストを張り付けたり、画像を挿入しようとするとスクリプトエラーになります。まず、この当たりの操作方をお教えいただけると助かります。
    2017年2月15日 4:16
  • https://social.msdn.microsoft.com/Forums/ja-JP/6644446f-8110-48a6-8d95-29050d33b7ae?forum=announceja

    Jitta@わんくま同盟

    2017年2月15日 4:50
  • ありがとうございます。でも、アカウントは何年もまえに取得しております。久しぶりに使用したから、なんですかね。おぼろげな記憶ですが、前はこんな不便ではなかったように思うのですが。それとも私の方のセキュリティの問題なのかもしれません。

    2017年2月15日 4:59
  • ハイパーリンクの挿入、画像の添付といった機能はコミュニティ内の活動実績がなければ行えない仕様となっております。

    ちゃんと読んだほうがいいですよ。

    2017年2月15日 5:17
  • テキストデータのコピペもできないのでしょうかね。リターンを押すだけでスクリプトエラーになります。改行もできません。読みづらく申し訳ございません。本件は、おそらくですが[ツール][オプション]「プロジェクトおよびソリューション」「VC++ディレクトリ」プラットホーム「WIN32」ディレクトリを表示するプロジェクト「インクルードファイル」でソースの入っているフォルダを指定してやることで解決したようです。プロジェクトのプロパティで追加の参照検索パスで相対パスでそのパスを指定しただけでは駄目だったようです。VC++は設定することが多すぎて私のような素人に難しいですが、昔のCやC++のプログラムを動かす時やむなく使っています。これで最後にしようと思います。お騒がせして申し訳ございませんでした。

    
    2017年2月16日 0:30
  • テキストデータのコピペもできないのでしょうかね。リターンを押すだけでスクリプトエラーになります。改行もできません。
    Visual Studioでの開発者以前に、まずはWindows利用者としてまっとうなWebブラウザーに乗り換えることから始めてはどうでしょうか? その様子では当フォーラムだけでなく、他サイトの閲覧にも支障があるのでは。
    2017年2月16日 0:58
  • 具体的にどのようにしたらよろしいのでしょうか。お教えいただければ幸いです。

    2017年2月16日 1:19
  • 横から失礼します。
    もしかして、VisualStudio2008の「スタートページ」にある「作業の開始」から
    「MSDNフォーラム」を選択しているのでしょうか。
    この場合いわゆるヘルプ(Document Explorer)が立ち上がり、
    そのタブにWebページが表示されると思うのですが、
    これは相当古いバージョンのブラウザである可能性があります。

    本「MSDNフォーラム」はただのWebページですので、最新のIEやChromeで閲覧することができます。
    自動的にログインしない場合は、右上の「サインイン」からできるはずです。

    2017年2月16日 2:03
  • ありがとうございます。いつも[ヘルプ][MSDNフォーラム]からログインしていました。馬鹿ですね。お手数をおかけしました。
    2017年2月16日 3:51