0

Valgrind の memcheck を実行すると、valgrind が次のようなエラーを報告することがあります。

==2745== Memcheck、メモリエラー検出器
==2745== Copyright (C) 2002-2010、GNU GPL'd、Julian Seward et al.
==2745== Valgrind-3.6.0 と LibVEX を使用。著作権情報については -h で再実行してください
==2745== コマンド: ./HSFramework
==2745==
==2745== サイズ 8 の無効な書き込み
==2745== 0x3B81C097C0: do_lookup_x (/lib64/ld-2.12.so 内)
==2745== by 0x1C31032D: ???
==2745== by 0x3B81C09E19: _dl_lookup_symbol_x (/lib64/ld-2.12.so 内)
==2745== アドレス 0x7feffee78 はスレッド 1 のスタックにあります
==2745==

プラットフォーム: Linux 2.6.32-220.el6.x86_64 x86_64 x86_64 x86_64 GNU/Linux

このエラー レポートから私のコードについての手がかりはありません。このエラーレポートについては知りませんでした。
このエラーが発生する理由は何ですか?

4

2 に答える 2

0

これは、do_lookup_x関数が無効な書き込みアクセスを実行したことを意味します。その関数はランタイム ライブラリの一部です(おそらく問題の原因ではありません)。HSFramework の作成者に連絡して、あなたが行ったように valgrind を実行してこの問題を解決できるかどうかを確認します

于 2013-02-22T07:12:26.113 に答える
0

このエラーは、do_lookup_x でバッファ オーバーランが発生していることを意味します。そのソースを参照するか、私たちと共有してください。

http://valgrind.org/docs/manual/quick-start.html

于 2013-02-22T07:16:06.083 に答える