2012-10-18 16 views
6

मैं ऐसे कार्यक्रम पर वालग्रिंड मेमचेक चला रहा हूं जो हजारों अन्य धागे को जन्म देता है।मैं वालग्रिंड को प्रत्येक नए धागे के लिए एम्बेडेड gdbservers शुरू करने से कैसे रोक सकता हूं?

अन्य धागे त्रुटियां उत्पन्न नहीं करते हैं, और मुझे परवाह नहीं है कि उनके साथ क्या होता है।

हालांकि, वालग्रिंड हर बार एक नया थ्रेड स्पॉन्स में नामित पाइप/tmp खोलने पर जोर देता है। न केवल यह अपमानजनक है, यह वास्तव में valgrind तोड़ता है। कभी-कभी वाल्ग्रिंड खुद के बाद साफ नहीं होता है, और उसके बाद एक ही पिड (बाद में सक्रिय) के साथ भविष्य के बच्चे स्पॉन नहीं हो जाते हैं क्योंकि वाल्ग्रिंड सही नाम के साथ पाइप नहीं बना सकता है (यह पहले से मौजूद है)।

मैं इन सभी पाइप बनाने से वालग्रिंड को कैसे रोक सकता हूं!

संपादित करें: झंडे मैं पहले से ही की कोशिश की है:

--child-चुप के बाद कांटा = हाँ

और चीजों को मैं पहले से ही की संभावना से इनकार किया है:

--track-बच्चों = नहीं (डिफ़ॉल्ट मान नहीं है)।

+4

'कभी-कभी वाल्ग्रिंड स्वयं के बाद साफ नहीं होता' - एलओएल! बस इसके लिए +1 :) –

+2

कृपया आपके द्वारा प्रयास किए गए valgrind memcheck विकल्पों को पोस्ट करें। – nalply

+2

यदि यह वालग्रिंड तोड़ता है, तो आप वाल्ग्रिंड में वालग्रिंड चला सकते हैं, ताकि आप वाल्ग्रिंडिंग वाल्ग्रिंड वाल्ग्रिंड कर सकें ... yo dawg, वैसे भी। – Griwes

उत्तर

3

मेरे अपने प्रश्न का उत्तर देने के लिए खेद है। बस दस्तावेज़ीकरण उद्देश्यों के लिए।

ध्वज के साथ चल रहा है:

--vgdb=no 

यह ठीक से, आदमी पन्नों में दर्ज नहीं किया है, क्योंकि यह आपको बता नहीं है कि यह ध्वज के बिना हर जगह पाइप वमन करने जा रहा है, लेकिन यही कारण है कि यह यह करता है ।

+0

आप अपने प्रश्नों का उत्तर दे सकते हैं। यह अभ्यास को प्रोत्साहित किया जाता है। माफी मांगने की कोई जरूरत नहीं है। – nalply

+0

आपको यह कैसे पता चला? – nalply

+0

बहुत सारे गोगलिंग + परीक्षण और त्रुटि। Valgrind मेलिंग सूची एक समान मुद्दा था। ऐसा लगता है कि ऐसा होता है जब एमएमएपी कभी-कभी विफल रहता है। देखें: http://sourceforge.net/mailarchive/forum.php?thread_name=4F09B6E3.4080107%40bitwagon.com&forum_name=valgrind-users –

1

यदि आप कर सकते हैं, तो अपने प्रारंभिक प्रोग्राम को समायोजित करें ताकि आप थ्रेड-स्पॉन्गिंग को कमांड लाइन तर्क के साथ बंद कर सकें। परिणाम पर valgrind चलाएं, थ्रेड-स्पॉन्गिंग हटा दिया गया है।

+0

एक समझदार विचार, लेकिन दुर्भाग्य से, मेरे मामले में, कार्यक्रम धागे के बिना कुछ भी नहीं करता है। –