タグ付けされた質問 「valgrind」

30
Windowsに代わる優れたValgrindはありますか?
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 Linux専用であることがわかったとき、Cコーディング/デバッグを改善するためにValgrindを調査していました。OSをLinuxに移行することに他に必要も関心もないため、Windowsにも同等に優れたプログラムがあるかどうか疑問に思いました。


2
「条件付きジャンプまたは移動は初期化されていない値に依存している」valgrindメッセージを正確に示す
したがって、valgrindからいくつかの不思議な初期化されていない値のメッセージを受け取っており、それは悪い値がどこから発生したのかという非常に謎です。 valgrindは、単一化された値が最終的に使用される場所を示しているようですが、初期化されていない値の原点は示していません。 ==11366== Conditional jump or move depends on uninitialised value(s) ==11366== at 0x43CAE4F: __printf_fp (in /lib/tls/i686/cmov/libc-2.7.so) ==11366== by 0x43C6563: vfprintf (in /lib/tls/i686/cmov/libc-2.7.so) ==11366== by 0x43EAC03: vsnprintf (in /lib/tls/i686/cmov/libc-2.7.so) ==11366== by 0x42D475B: (within /usr/lib/libstdc++.so.6.0.9) ==11366== by 0x42E2C9B: std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_float<double>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, char, …
166 c++  valgrind 

5
Valgrindによって検出されたまだ到達可能なリーク
このブロックで言及されている関数はすべてライブラリ関数です。このメモリリークを修正するにはどうすればよいですか? 「まだ到達可能」カテゴリの下にリストされています。(さらに4つあります。非常によく似ていますが、サイズはさまざまです) 630 bytes in 1 blocks are still reachable in loss record 5 of 5 at 0x4004F1B: calloc (vg_replace_malloc.c:418) by 0x931CD2: _dl_new_object (dl-object.c:52) by 0x92DD36: _dl_map_object_from_fd (dl-load.c:972) by 0x92EFB6: _dl_map_object (dl-load.c:2251) by 0x939F1B: dl_open_worker (dl-open.c:255) by 0x935965: _dl_catch_error (dl-error.c:178) by 0x9399C5: _dl_open (dl-open.c:584) by 0xA64E31: do_dlopen (dl-libc.c:86) by 0x935965: …
154 c  pthreads  valgrind 

3
Valgrindの出力をファイルにリダイレクトする方法は?
Valgrindツールを使用しているときに、valgrindツールによって生成された詳細をログに記録する必要があります。どうすればそれを達成できますか?私は何かを試しました、 valgrind a.out | test そして valgrind a.out > test これは、valgrindメモリエラーではなく、プログラムの出力のみを提供し、情報をリークしました。プログラムがユーザーの操作を必要としない場合(つまり、入力を行う場合)でも、このようになっています。プログラムがユーザー入力を必要とする場合でも、それ自体は機能しません。 これどうやってするの?
147 redirect  valgrind 

12
ヨセミテとヴァルグリンド
ヨセミテにvalgrindをインストールする方法を教えてください。インストールしようとすると、「カーネルバージョンを確認しています...サポートされていません(14.0.0)構成:エラー:ダーウィン10.x、11.x、12.x、13.x(Mac OS XでValgrindが機能します。 10.6 / 7/8/9)」 公式のパスやアップデートはなく、何も見つかりませんでした(http://comments.gmane.org/gmane.comp.kde.devel.bugs/1553705を除いて、それらはその問題を解決しませんでした)。

6
C ++構造体を初期化する適切な方法
私たちのコードには、POD(Plain Old Datastructure)構造体が含まれています(これは、最初に初期化する必要がある他の構造体とPOD変数を含む基本的なc ++構造体です)。 私が読んだものに基づいて、それは次のようです: myStruct = (MyStruct*)calloc(1, sizeof(MyStruct)); 次のように、すべての値をゼロに初期化する必要があります。 myStruct = new MyStruct(); ただし、構造体が2番目の方法で初期化されると、Valgrindは後で、これらの変数が使用されたときに「条件付きジャンプまたは移動は初期化されていない値に依存する」と文句を言います。私の理解はここに欠陥がありますか、それともValgrindは誤検知を投げていますか?

3
カタリナにValgrindをインストールする方法はありますか?
ValgrindをCatalinaにインストールして適切に実行する方法はありますか?もしそうなら、私はステップバイステップのプロセスを非常に感謝します。 https://github.com/sowson/valgrindを使用してValgrindをインストールしようとし ましたhelloWorld.cppが、ターミナルでテストしたところ、コンソールが取得すべきでないエラーを返しました。 このバージョンのValgrindのインストールプロセスで自分の側でエラーを犯したかどうか、またはValgrind自体が単にCatalina OSと互換性がないかどうかはわかりません。 私もHomebrewを介してValgrindをインストールしようとしましたが、これにも問題がありました(github.com/Homebrew/homebrew-core/issues/36683)。

3
Homebrewを使用してmacOS Catalina(10.15)にValgrindをインストールする方法
コマンドbrew install Valgrindを使用してValgrindをインストールしようとすると、次のメッセージが表示されます。 「valgrind:アップストリームの非互換性が原因で、この式はSierraより新しいmacOSバージョンでは期待どおりにコンパイルまたは機能しません。エラー:要件が満たされていないため、このビルドに失敗しました。」 また、「brew edit valgrind」を試して、コードのヘッドセクションで「sourceware.org/git/valgrind.git」を「git://sourceware.org/git/valgrind.git」に置き換えてから、Itermに書き込みましたbrew install --HEAD valgrind"しかし、それは私に与えます: Last 15 lines from /Users/m/Library/Logs/Homebrew/valgrind/02.configure: checking for gcc-ar... no checking for perl... /usr/bin/perl checking for gdb... /no/gdb/was/found/at/configure/time checking dependency style of clang... none checking for diff -u... yes checking for clang option to accept ISO C99... none needed checking for …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.