問題タブ [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.
c - valgrind の出力を理解する
以前、メモリ リークなどのチェックについて質問した投稿をしました。Linux のターミナルに慣れていないと言っていましたが、誰かが valgrind を使えば簡単だと言いました。
私はそれを実行することができましたが、出力が何を意味するのかわかりません。ざっと見てみると、私にはすべて問題ないように見えますが、可能であれば、確認のためにフォークを経験してから実行したいと思います. 出力は次のとおりです。
ここで大丈夫ですか?私に関する唯一のことは、まだ到達可能な部分です。それは大丈夫ですか?
みんな、ありがとう
valgrind - サーバープロセスのvalgrind
こんにちは、valgrind は初めてです。コマンドラインから実行可能ファイルに対して valgrind を実行する方法を知っています。しかし、apache/myqld/traffic サーバーなどのサーバー プロセスで valgrind を実行するにはどうすればよいでしょうか。
トラフィック サーバー ( http://incubator.apache.org/projects/trafficserver.html ) で valgrind を実行して、作成したプラグインで発生しているメモリ リークを検出したいと考えています。
助言がありますか ?
ありがとう、ピゴル
c - gethostbyname() と valgrind
C コードで gethostbyname() を呼び出すたびに、このエラーが発生し続けます。
何か案は ?ありがとう、
c++ - valgrind は、c で非常に単純な strtok を実行すると不平を言います
char[]
こんにちは、ファイル全体を usingにロードして、文字列をトークン化しようとしていますfread
。何らかの奇妙な理由で、常に機能するとは限らず、この非常に小さなサンプル プログラムで valgrind が文句を言います。
次のような入力が与えられた場合test.txt
そして次のプログラム
のようにコンパイルする
のように走っている
ありがとう
c++ - Valgrind ツールを使用して、0x0 アドレスにアクセスしようとしているオブジェクトを検出するにはどうすればよいですか?
デバッグしようとすると、この出力が表示されます
プログラムは、 /home/devsw/tmp/objdir/i686-pc-linux-gnu/libstdc++-v3/include/の
std::string::compare (this=0x88fd430, __str=@0xbfff9060) でシグナル SIGSEGV、セグメンテーション違反 0x43989029 を受け取りました。
ビット/char_traits.h:253253 { return memcmp(__s1, __s2, __n); }
現在の言語: auto; 現在C++
valgrind を使用すると、この出力が得られます
==12485== プロセスはシグナル 11 (SIGSEGV) のデフォルト アクションで終了します
==12485== アドレス 0x0 のマップされた領域の権限が正しくあり
ません ==12485== 0x1: (path_to_my_executable_file/executable_file 内)
c++ - 「条件付きジャンプまたは移動は、初期化されていない値に依存します」valgrindメッセージの特定
そのため、valgrind から不思議な初期化されていない値のメッセージを受け取りましたが、悪い値がどこから来たのかは非常に謎です。
valgrind は、初期化されていない値の起源ではなく、初期化された値が使用される場所を示しているようです。
ご覧のとおり、非常に不可解になります..特に Class::MethodX で言うと、ostream などを直接指すことがあるため、おそらくこれは最適化によるものでしょうか?
そのように。足りないものはありますか?非常に長いprintf検出作業に頼ることなく、悪い値をキャッチする最良の方法は何ですか?
アップデート:
私は何が間違っているかを見つけましたが、奇妙なことに、valgrind は悪い値が最初に使用されたときにそれを報告しませんでした。乗算関数で使用されました。
speedfac は、ユニット化されたフロートでした。ただし、その時点では報告されておらず、値が出力されるまでエラーが発生することはありませんでした..この動作を変更するためのvalgrindの設定はありますか?
c - 複数の valgrind エラー: 条件付きのジャンプまたは移動は、初期化されていない値に依存します
Valgrind を実行していますが、次のエラーが表示されます (これだけではありません)。
私のtunnelURL()
関数は次のようになります(Cコード):
行 336 は、関数呼び出しを含むif
ステートメントに対応します。getaddrinfo()
何を初期化していないのかよくわかりません。「すべき」で渡す文字列は、既に設定されています。ちゃんと印刷してます。同じコード行に対応する別のエラーも表示されます。
これの原因について何か考えはありますか?
qt - Qt 4.6.2 および RHEL 5 の Valgrind 抑制ファイル
Qt 4.6.2 を搭載した RHEL 5.5 で Valgrind 3.5.0 を実行しようとしています。偽のエラーが大量に生成されています。作成した抑制ファイルを誰かが共有できるかどうか疑問に思っていますか? --leak-check=full を使用すると、AddressBook サンプルのパート 7 を実行しただけでも、glib、gtk、pango などのリークが出力で報告されます。25000 行を超えると、ノイズの中で実際のメモリ リークが失われます。
c++ - Valgrindを使用してセグメンテーション違反の詳細を検出する方法は?
API呼び出しで初期化された std::map< std::string, std::string> があります。このマップを使用しようとすると、セグメンテーション違反が発生します。無効なコード、無効なコード、または問題の修正に役立つ詳細を検出するにはどうすればよいですか? コードは次のようになります。
c - Valgrindは「スタック割り当て」と言います、私は「ヒープ割り当て」と言います
valgrindでセグメンテーション違反を追跡しようとしています。valgrindから次のメッセージが表示されます。
ただし、問題のある行は次のとおりです。
何が得られますか?mallocまたはcallocへの呼び出しにはヒープスペースが割り当てられていると思いました。ここには他の変数は割り当てられていませんよね?私が見ていない別の割り当て(問題のあるスタック割り当て)が行われている可能性はありますか?
編集:私の現在の疑いは、スタックに割り当てられた配列です:double(stack)へのポインターを宣言し、double*を返す関数の結果をそれに割り当てます。次に、以前に割り当てられた場所に移動します。
memmove、memcpy、またはスタック変数を割り当てることができず、それが持続することを期待できますか?