2012-10-18 15 views
6

私はvalgrind memcheckを何千もの他のスレッドを生成するプログラムで実行しています。Valgrindが新しいスレッドごとに埋め込まれたgdbserversを開始しないようにするにはどうすればよいですか?

他のスレッドはエラーを生成せず、私は何が起こるか気にしません。

しかし、Valgrindは新しいスレッドが生成されるたびに/ tmp内の名前付きパイプを開くことを主張しています。これは無駄ではないだけでなく、実際にバングラドを破ります。 valgrindはそれ自身の後でクリーンアップしないでください。そして、valgrindが正しい名前(すでに存在しています)のパイプを作ることができないので、同じpid(後でアクティブになる)の将来の子が生成されません。

これらのパイプをすべてValgrindが作成できないようにするにはどうすればいいですか?

編集:私はすでに試してみました フラグ:

--childサイレント・アフターフォーク= yesの

と物事が私はすでに除外されている:

--track-子どもを= no(デフォルト値はno)。

+4

「ときどきバレングローンはそれ自身の後でクリーンアップしないことがあります」 - LOL!それだけの+1 :) –

+2

あなたが試したvalgrind memcheckオプションを投稿してください。 – nalply

+2

バングラデシュが壊れた場合、バンググラインドでバンググラインドを実行することができますので、バンググラインドバージングライド...バウンドすることができます。 – Griwes

答えて

3

私自身の質問にお答えして申し訳ありません。ドキュメント化のためです。フラグ付きで実行

--vgdb=no 

フラグなしでどこでもパイプを吐き出すために起こっていることを教えていないので、これは正しく、manページに記載されていないが、それはそれをしない理由です。

+0

あなた自身の質問に答えることができます。これは奨励された練習です。謝罪する必要はありません。 – nalply

+0

どうやってそれを見つけましたか? – nalply

+0

多くのゴーグル+試行錯誤。 valgrindメーリングリストにも同様の問題がありました。 MMAPが時折失敗するかもしれないように見えます。参照:http://sourceforge.net/mailarchive/forum.php?thread_name=4F09B6E3.4080107%40bitwagon.com&forum_name=valgrind-users –

1

可能であれば、最初のプログラムを調整して、スレッド生成をコマンドライン引数でオフにすることができます。結果にvalgrindを実行し、スレッド生成を削除します。

+0

賢明なアイデアですが、残念ながら、私の場合、プログラムはスレッドなしではほとんど何もしません。 –

関連する問題