問題タブ [buffer-overrun]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ガベージ コレクション中のバッファ オーバーラン: サイキック デバッグ リクエスト
現在、C++ライブラリの上に構築されたC#(.Net 4.5)WPFアプリケーションをテストしています(マネージド、私はそれを書いていないと思います)。さまざまな(実際的な)理由から、サーバー上で実行されています(VS2012がインストールされています、はい、そうです)。
プログラムは (ライブラリ経由で) カメラに接続し、受信した画像フレームを表示します。
奇妙なのは、バッファオーバーラン(理解できるバッファ オーバーフロー) が発生していることです。そしてガベージコレクション中!
A buffer overrun has occurred in App.exe which has corrupted the program's internal state.
その他の役立つ可能性のあるさまざまな情報:
- 「スループット」を上げると、処理が早くなります (数分ではなく数秒)
- VS(デバッグまたはリリース)で実行すると、それがまったく停止します(または、少なくとも、待機する準備ができているよりも長く遅延します)
- 私のC#にはありません
unsafe
。私が行っている唯一の「難解な」ことは、(ライブラリからの)ビットマップを(このBitmapSource
ような)に変換することです。 - ライブラリは x86 用にコンパイルされており、exe も同様です。
コールスタック、毎回同じ:
ios - valgrind を使用して iOS のメモリの問題を正常にチェックできる人はいますか?
http://alxsrg.com/?p=180 http://root42.blogspot.ru/2011/02/valgrind-checking-of-ios-programs.htmlおよびhttp://landonf.bikemonkey.org/を参照してください。 code/iphone/iPhone_Simulator_Valgrind.20081224.html .
いくつかの状況で試しましたが、すべて失敗しました。
私が試すのは次のとおりです。
- マウンテン ライオン + xcode 4.6/4.6 + 手動でコンパイルされた valgrind + 古いバージョンの xcode から抽出された SDK5.1。
- vmware の lion(10.7.5) ゲスト OS (ホストはマウンテン ライオン) + xcode4.3.2/4.5.2 + SDK5.1/SDK5.0
- ライオン (10.7) + xcode4.2.1 + SDK5.0
execl は null 命令のスタック (0x00000000) で失敗します。
コマンドラインでvalgrindを使用しようとしましたが、うまくいきました。
ps、コードはシミュレーターで valgrind を生成します。
c# - 読み込みでオーバーラン バッファ エラーが発生する
ここで何が間違っているのかわかりません。私のコードは最初のパスでは期待どおりに動作しますが、2 番目のパスでは実行されず、「Reading will overrun buffer%」という例外がスローされます。
私はバッファで何か間違ったことをしていると思いますが、それを上書きするのは好きではありませんか?
私は本質的に同じコードを持っていて、それをmsdnの例に合わせて変更しましたが、喜びはありません..
.Net 2.0 Mono で作業しています。
c++ - C++ でバッファ オーバーランが発生しました
このプログラムは、ユーザーから数式の文字列 (char 配列) を取得して解析し、各部分 (数値と演算子を個別に) を exp という配列の要素に保存します。以前に C# でこのプログラムをデバッグしましたが、かなり機能しました。適切ですが、今から大学で C++ を勉強しているので、この言語でプログラミングする必要があるため、このプログラムをビジュアル スタジオでデバッグすると、次のようなエラーが表示されます。
「LineCalculator.exe でバッファ オーバーランが発生し、プログラムの内部状態が破壊されました。Break を押してプログラムをデバッグするか、Continue を押してプログラムを終了してください。」
助けてください、どうすればいいですか?
c - バッファ オーバーランと集中エラー処理
Code Complete 2を読んでいて、エラー処理で次のステートメントに出くわしました。
エラー処理ルーチン/オブジェクトを呼び出します。もう 1 つの方法は、エラー処理をグローバル エラー処理ルーチンまたはエラー処理オブジェクトに集中化することです。このアプローチの利点は、エラー処理の責任を一元化できるため、デバッグが容易になることです。トレードオフは、プログラム全体がこの中心的な機能を認識し、それに結合されることです。システムのコードを別のシステムで再利用したい場合は、再利用するコードと一緒にエラー処理機構をドラッグする必要があります。
そして後でそれは言います:
このアプローチには、セキュリティ上の重要な意味があります。コードでバッファー オーバーランが発生した場合、攻撃者がハンドラー ルーチンまたはオブジェクトのアドレスを侵害した可能性があります。したがって、アプリケーションの実行中にバッファ オーバーランが発生すると、この方法を使用しても安全ではなくなります。
しかし、上記の文はよく理解できませんでした。バッファ オーバーランはどのようにアドレス侵害を引き起こす可能性がありますか?
c++ - C++ バッファ オーバーラン
私は C++ を学んでおり、C# について十分に理解していますが、これまでこの問題に遭遇したことはありません。チェスの駒を架空の盤 (列挙された配列) に配置し、最初に駒が配置されている正方形を割り当てる単純なプログラムを使用すると、座標を求められ、プログラムはその正方形にあるものを返します。正しいピースが表示されますが、非デバッグ モードでは常にクラッシュし、Visual Studio のデバッグでバッファ オーバーランが表示されます。かなり短いので、すべてのコードを示します。
c++ - 単純なアセンブリ コードでバッファ オーバーランが発生する
どのように動作するかを学ぶためにいくつかのアセンブリ コードを試していますが、最初の例ではバッファ オーバーラン例外に直面しました。私はVS2013エクスプレスエディションを使用しており、extern "C"機能を使用してアセンブリコードを機能させるためにc++コードを使用しています。いくつかの VS オプションを変更しようとしましたが、うまくいきませんでした。それは非常に単純なステートメントですが、バッファオーバーランの例外を与える理由は何でしょうか。通常、movステートメントなしでビルドして実行します。
編集:マクロに ret ステートメントを追加するだけで、問題は解決しました。
これは組み立て部分です:
ここにC++の部分があります: