問題タブ [bounds-checker]

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.

0 投票する
8 に答える
3123 参照

c++ - 仮想デストラクタはどのように機能しますか?

数時間前、メモリリークの問題をいじっていましたが、仮想デストラクタに関する基本的な情報が間違っていることがわかりました。クラスのデザインについて説明します。

境界チェッカーツールは、派生クラスベクトルのメモリリークを報告しました。そして、デストラクタは仮想ではなく、派生クラスのデストラクタは呼び出されないことがわかりました。そして、驚くべきことに、デストラクタを仮想化したときに修正されました。派生クラスのデストラクタが呼び出されなくても、ベクトルは自動的に割り当て解除されませんか?それはBoundsCheckerツールの癖ですか、それとも仮想デストラクタの理解が間違っていますか?

0 投票する
1 に答える
302 参照

c++ - BoundsChecker を使用してメモリの問題を検出できない

最近、一部のクライアント API でアプリケーション サーバーのメモリが増加し、最終的にクラッシュにつながることがわかりました。

そのため、boundschecker を使用してみましたが、メモリ リークはなく、メモリが増加するにつれてクラッシュにつながります (プライベート バイトが増加しています)。MS(sysinternals)のProcess Exploreで確認。

そのため、メモリがどのように順番に割り当てられるか (関数呼び出し)、またはハンドルが順番に割り当てられる方法を取得する方法はありますか。この位置でメモリが増加していることがわかります。

すべてのスレッドからのすべての関数呼び出しをキャプチャしたいと考えています。また、数千行のコードであるため、あまり多くのコードを変更することはできません。

0 投票する
1 に答える
1160 参照

visual-c++ - DevPartner BoundsChecker でプログラムが壊れる

1 つまたは複数のメモリ リークがあると思われるプログラムに取り組んでいます。Stack Overflow に関する他の回答では、DevPartner BoundsChecker を試すように言われました (私が試した他の多くのうちの 1 つです)。

BoundsChecker を実行してプログラムを実行すると、プログラムが壊れます。ある時点で、Windows ファイルを開くダイアログが開始され、それが実際に発生する直前に、継続不可能なブレークポイントがトリガーされます。これは、BoundsChecker が実行されている場合にのみ発生します。

コンソール出力によると、プログラムが最後に実行しようとしているのは、C:\Windows\SysWOW64\slc.dllDevPartner が「Microsoft Software Licensing Client Dll」として認識するものをロードすることです。その特定のプログラムではソフトウェア ライセンスを使用していないため、これは開かれるはずのダイアログ ウィンドウに何らかの形で関連している必要があります。

とにかく、私は本当にそれらのメモリ リークを見つけたいので、そのファイルを開く必要があります。この問題 (その問題が何であれ) のために私のプログラムを壊さないように BoundsChecker に指示する可能性はありますか?

0 投票する
3 に答える
1463 参照

wpf - WPF 3D:キューブに別のキューブを完全に含めることができるかどうかを確認します

私は3Dでドロップ&ドロップに取り組んでいます。私は 3D 空間 (部屋) と壁 (立方体) を作成しました。壁 (立方体) は、ドロップされるオブジェクト (小さい方の立方体を想定) のプレースホルダーとして機能します。

どのように私は理解しようとしていますか:

ユーザーがオブジェクトを部屋の端に落とした場合、部屋はそのオブジェクトを完全に含むことができますか?

つまり、オブジェクトが部分的に部屋にあり、部分的に外に出たくありません。理想的には、ドロップ操作をキャンセルするか、部屋にそのオブジェクトが安全に含まれるようにポイントに移動します。

部屋とオブジェクト (ModelVisual3D.Content.Bounds) の境界と、オブジェクトがドロップされたポイントがあります。

オブジェクトがその時点に配置されているかどうかを判断するには、計算を行う必要があると考えています。

アイデア/考え/ポインターを高く評価しました。

0 投票する
2 に答える
7893 参照

c++ - GCCSTL境界チェック

operator[]イテレータの境界チェックを有効にするにはどうすればよいですか?

0 投票する
3 に答える
647 参照

c - 可変長配列 (VLA) の境界チェック?

VLA のバッファ オーバーフローをチェックする方法はありますか? -fstack-protector-all -Wstack-protectorを使用しましたが、次の警告が表示されます。

警告: ローカル変数を保護していません: 可変長バッファ

これを達成するためのライブラリはありますか? (-lefence はヒープメモリ用)

現在、Valgrind と gdb を使用しています。

0 投票する
2 に答える
1194 参照

c++ - C/C++ 構造内でバッファ オーバーフローを検出するプログラムはありますか?

次のプログラムを検討してください。

( Is it legal to overrun one element of a struct to view another?から借用)

BoundsCheckerはこれをオーバーフローとして検出しません。この種のプログラミング エラーを検出するプログラムはありますか?

0 投票する
2 に答える
834 参照

c - fbounds チェックが機能しない、代替品はありますか?

fbounds チェックを機能させようとしましたが、成功しませんでした。次のエラーが表示されます。

/tmp/cczxKZzn.s: アセンブラ メッセージ:

/tmp/cczxKZzn.s:48: エラー: 「プッシュ」の無効な命令サフィックス

/tmp/cc9xD8T3.s:125: エラー: `pop' の無効な命令サフィックス

私のメイクファイルは次のようになります(単純なメイクファイルでは、すべてが適切にコンパイルされています):

そのコードはアセンブラとは関係がないので、どうすればよいかわかりません。アセンブラーの問題は、そのトピックに関する Google 検索で確認できる唯一の問題です。


たとえば、配列の外側にあることを確認する他のソリューションを提案できますか? など(これは私のerror.cです):


編集。バージョンに互換性がない可能性があります。gcc 4.4+ がインストールされており、少し変更された gcc 4.0.2 へのパスでそれを行っていますか?

0 投票する
1 に答える
189 参照

c - サイクロンはファットポインターに対して静的または動的チェックを実行しますか?

私はCyclone: PLクラスのCの安全な方言を通り抜けています。この論文の著者は、バッファオーバーフローを防ぐために境界情報を格納する特別な「fat」ポインタを追加したと説明しています。ただし、このポインタのチェックが静的であるか動的であるかは指定されていません。彼らが与える例は、プログラマーがそれらがバッファーを超えていないことを確認するために配列のサイズを確認することを忘れないようにしなければならないことを暗示しているようです。これは、Cの場合と同様に、プログラミングエラーの可能性を開くようです。Cycloneの全体的なアイデアは、そのようなエラーを不可能にすることだと思いました。言語にチェックがありますか?プログラミングの間違いをしにくくするだけですか?

0 投票する
2 に答える
989 参照

memory - boundsChecker を使用したメモリ リークの検出

メモリ検出用に boundsChecker を使用してソースを計測していますが、ネイティブの c/c++ 計測マネージャーのエラー検出タイプの計測でビルドすると、ビルド エラーが発生します。出力ウィンドウを見ると、NM2002: Inline Expansion (/Ob) used during instrumentation this error ..

しかし、インストルメンテーション タイプをパフォーマンスまたはカバレッジ分析として選択すると、ソースは正常にビルドされますが、メモリ リークをチェックするためにテストケースを実行すると、メモリ リークが表示されません。メモリリークを検出するためにインストルメンテーションを使用する必要があります..