問題タブ [valgrind]

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 投票する
3 に答える
3562 参照

memory-management - Solaris で不正なメモリ アクセスを特定する

Linux、FreeBSD、およびその他のシステムでは、無効な読み取りなどのメモリ エラーをチェックするための valgrind があります。私はヴァルグリンドが大好きです。ここで、Solaris/OpenSolaris でコードをテストする必要がありますが、無効な読み取り/書き込みに関する情報を valgrind と同じくらい良い方法 (またはそれ以上;-)) で取得する方法が見つかりません。

ネットでこれを検索すると、libumemへの参照が見つかりますが、無効なアクセスではなく、メモリリークに関するレポートしか得られません。私は何が欠けていますか?

0 投票する
4 に答える
4564 参照

java - Linuxでのプロセスのメモリ使用量の測定

Linuxでプロセス(Javaプログラム)のメモリ使用量を測定しようとしていますが、それに関連する2つの質問があります。

  1. スクリプトps_mem.py(/ proc / $ PID / smapsの値を合計)を使用してみましたが、合計メモリ使用量のピークは約135MB(プライベートメモリと共有メモリ)でした。共有メモリの容量は1MB未満です。MassifツールでValgrindを使用しようとすると、valgrind --tool=massif --trace-children=yes --stacks=yes java myProgramメモリ使用量のピーク時に約10MBが生成されます。
    私が理解しているように、ヒープは私のプログラムの変数が格納される場所ですが、2つのメソッドの違いは、コード自体(jvmを含む)が占めるスペースであることを意味しますか?

  2. 同じプログラムが異なる量のRAMを持っている場合、または/および異なるプロセッサ(ARMまたはx86)を使用している場合、異なるマシンで異なる量のメモリを使用しますか?

0 投票する
4 に答える
11345 参照

c++ - Valgrindは、文字列に値を割り当てるときにメモリリークを報告します

Valgrindは、文字列に値を割り当てるときにメモリリークを報告します。

次の簡単なコードを使用して、Valgrindによって報告されたメモリリークをテストしました。

このコマンドを使用してコンパイルします。

また、Valgrindを実行すると、文字列に値を割り当てようとするとメモリリークが報告されます。この簡単なテストを使用して、実際のプログラムのメモリリークを調査していますが、文字列を使用すると、何らかの問題が発生する可能性があります。

0x8048A6Fまで:main(t3.c:23)は次の行です:string test = "XXXXXXXXX"; 誰かがそのような奇妙な行動についていくつかのヒントを与えることができますか?

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

memory - CUDA境界チェッカー?

CUDA の境界チェッカー、浄化、または valgrind に相当するツールはありますか?

私は基本的に、割り当てられたメモリの外で読み書きを行っているかどうかを教えてくれるものを探しています。

0 投票する
5 に答える
244 参照

c++ - プロセス終了時に静的メンバーに何かをする方法はありますか?

libxml2 を使用するクラスがあります。スキーマ ファイルとそのパーサーのコンテキストを保持するために使用される静的メンバーがあります。私は valgrind を使用していますが、スキーマ コンテキストに関連してメモリの割り当てが解除されていないと不平を言っています。これは、そのメモリを自分で解放する必要があるためです。ただし、これらのコンテキスト変数は静的であるため、オブジェクトを破棄しても解放できません。必要な無料関数を呼び出す方法はありますか、それとも valgrind を無視する必要がありますか。

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

multithreading - valgrind で実行中のプログラムが中断されると、スレッド スタック バックトレースが発生する

私はサーバープログラムを持っていますが、これは非常にクリーン/グレースフルなシャットダウンをしていません (一般的に終了することは想定されていません)。メモリ リークをトレースするときは valgrind で実行しますが、最終的にはプロセスをシグナル (^C) で強制終了する必要があります。通常、環境が静かなときにプロセスを終了しようとしますが、それでも一部のスレッドがジョブの処理でビジーであり、それらが保持するメモリが誤ったアラームを引き起こす可能性があります。このような分析を支援するために、valgrind に何らかの方法 (ツール) があり、プログラムが終了したときに (シグナルによって) スレッドのバックトレースを出力できますか?

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

debugging - valgrind によって生成されたコアのデバッグ

Valgrind は vgcore.NNNN ファイルを生成しました -- GDB を使用してコアをデバッグするにはどうすればよいですか? 元の実行可能ファイルを使用してコアを提供する必要がありますか、それとも別の方法がありますか?

valgrind をルート実行可能ファイルとして使用しても機能しないようです。また、valgrind の下で実行されていた実行可能ファイルを GDB で直接コアとともに使用すると、悪いバックトレースが発生するようです。

0 投票する
5 に答える
14004 参照

c++ - valgrind が基本的な SDL プログラムでメモリ リークが発生していると言うのはなぜですか?

SDL プログラムは次のとおりです。

次のコマンドでコンパイル:

そして、これが valgrind の出力です:

この基本的な SDL プログラムでメモリ リークが発生するのはなぜですか?

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

api - Valgrind内部の詳細なドキュメント

ValgrindのクライアントリクエストAPIへのDインターフェースを作成することを考えています。ヘッダーファイルをいじくり回してコンパイルを解除することで、最終的にはそれが何をしているのかを理解することができましたが、それらがどのように機能するかについての信頼できるドキュメントであるかどうか疑問に思います。(ところで、私はすでにこのドキュメントを見つけましたが、十分な情報がありません)

私が探しているのは、次のような質問に答えるでしょう。32ビットのマシンワードを返し、64ビットのfloatをとる関数をラップ/呼び出すためのマクロを生成するにはどうすればよいですか?

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

llvm - 静的計測と動的計測の長所と短所

多くの静的および動的計測ツールがあります。すすは、Java バイトコードの静的計測ツールです。Pin と Valgrind は、バイナリ用の動的計測ツールです。

静的計測ツールと動的計測ツールの長所と短所は何ですか? ランタイム パフォーマンスの点では、静的インストルメンテーション ツールの方が優れていると思いますが、動的ツールはより強力です。実力と性能を比べてみてください。

さらに、インストルメンテーション ツールを使用することと LLVM パスを作成することの違いは何ですか?