問題タブ [memcheck]
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 - 初期化されていない値 - if_nan 関数
次の関数を呼び出すコードがあります
to findif_nan()
が計算で見つかりました。Valgrind で memcheck を実行すると、次のエラーが表示されます。
ここで初期化する値がわかりません。このエラーを回避する方法を提案してください。ありがとうございました
memory-management - Valgrind - プログラムがクラッシュしています
私は初めてですvalgrind
。小さなプログラムをチェックしようとすると、次のエラーが発生します。
この種のエラーは、誤ったメモリ アクセスが原因であることがわかります。ライブラリは、そのメモリ空間にマップされていないメモリ領域にアクセスしようとしています。
valgrind
プログラム全体をチェックせずに停止しましたか? それとも、私のアプリは問題ないということですか? 既存の問題を解決するにはどうすればよいですか?
c++ - OOM 時にクラッシュしないメモリ リーク、または massif/valgrind に表示されるメモリ リーク
私は無期限に成長する内部 C++ アプリケーションを持っています。そのため、RSS が特定のピーク サイズ (2.0G) に達すると実際にアプリケーションを強制終了するロジックを実装して、順序の類似性を維持する必要がありました。ただし、これはいくつかの奇妙な動作を示しています。
まず、Valgrind と memcheck を使用してアプリケーションを実行し、ランダムなメモリ リークをあちこちで修正しました。ただし、これらのメモリ リークの程度は、数十メガバイト単位で測定されました。これは理にかなっています。実際のメモリ リークはなく、アプリケーション側のメモリ管理が不十分である可能性があるからです。
次に、Valgrind と Massif を使用して、メモリがどこに向かっているのかを確認しました。ピークのスナップショットは 161M で、RSS フィールドを使用して確認できる 1.9G+ のピークにはほど遠いものです。最大の消費は、std::string であると予想される場所ですが、これは異常ではありません。
最後に、これが最も不可解です。このメモリ リークに気付く前に、AWS でこのサービスを実際にテストしていたのですが、楽しみのために、CC2.8XL マシンでワーカーの数を 44 に設定しました。労働者。これは 60.5G の RAM で、スワップはありません。1 か月早送りします。私はホストを見に行きます-そして、低いと見よ、それは RAM で限界に達しています--しかし! プロセスはまだ正常に実行されており、メモリ使用量のさまざまな段階でスタックしています。800M から 1.9G までほぼ均等に分散されています。ときどきdmesg
、メモリを割り当てることができないという Xen エラーが出力されますが、それ以外は、プロセスが終了することはなく、アクティブに処理を続けます (つまり、「スタック」していません)。
私がここに欠けているものはありますか?基本的には機能していますが、私の人生では、その理由がわかりません。次に何を探すべきかについて、何をお勧めしますか? それを理解するのに役立つツールはありますか?
java - valgrind が execvp で作成された Java 子プロセスをトレースしないようにします
私はCプログラムを持っており、その中で次のようにexecvp
呼び出しますjava
:
path_to_java="/usr/java/latest/jre/bin/java"
とI'm runningへargs
のリンクが含まれています。jar
私はそれが機能していることを知っています.C部分をプロファイリングしたいだけです.
java
他のすべての子プロセスをプロファイリングしながら、子プロセスのプロファイリングを回避するために、このコマンドで memcheck を実行しようとしています:
ただし、他の問題の中でも特に、 に次のように表示されますLOGFILE
。
私も試し--trace-children-skip=java
てみましたが、「一致なし」エラーは発生しませんでしたが、サブプロセスvalgrind
へのステップインを完全に防ぐことができませんでしたjava
。
私がこれを行っている理由はjava
、特にvalgrind
JVM がうまく動作しないため、サブプロセスのプロファイリングを気にしないためです。例えば:
ああ。私は何を間違っていますか?
c++ - サイズ 8 の無効な読み取り、サイズ 8 の無効な書き込み (Valgrind)
今晩数時間、次のコードをいじっていましたが、頭を悩ませています。
関数を使用して標準入力から配列を設定すると、「サイズ 8 の無効な書き込み」と「サイズ 8 の無効な読み取り」が発生し続けます。
助けていただければ幸いです...スタックオーバーフローにこれらのエラーがたくさんあることは知っていますが、それらのほとんどは状況に固有のものです。
Memcheck からのエラーは次のとおりです。
問題を次の 2 行に絞り込みました。書き込みで 10 個のエラー、読み取りで 10 個のエラーです。
どんな洞察もいただければ幸いです!