जब मैंने एक ऐप डीबग करने में मदद करने के लिए वालग्रिंड का उपयोग किया था, तो मैं काम कर रहा था, मुझे शोर के बारे में बहुत कुछ पता चला जो मानक पुस्तकालयों के बारे में शिकायत कर रहा है। एक परीक्षण के रूप में मैंने यह किया;वालग्रिंड 'शोर', इसका क्या अर्थ है?
echo 'int main() {return 0;}' | gcc -x c -o test -
तब मैंने यह किया;
valgrind ./test
==1096== Use of uninitialised value of size 8
==1096== at 0x400A202: _dl_new_object (in /lib64/ld-2.10.1.so)
==1096== by 0x400607F: _dl_map_object_from_fd (in /lib64/ld-2.10.1.so)
==1096== by 0x4007A2C: _dl_map_object (in /lib64/ld-2.10.1.so)
==1096== by 0x400199A: map_doit (in /lib64/ld-2.10.1.so)
==1096== by 0x400D495: _dl_catch_error (in /lib64/ld-2.10.1.so)
==1096== by 0x400189E: do_preload (in /lib64/ld-2.10.1.so)
==1096== by 0x4003CCD: dl_main (in /lib64/ld-2.10.1.so)
==1096== by 0x401404B: _dl_sysdep_start (in /lib64/ld-2.10.1.so)
==1096== by 0x4001471: _dl_start (in /lib64/ld-2.10.1.so)
==1096== by 0x4000BA7: (within /lib64/ld-2.10.1.so)
* large block of similar snipped *
==1096== Use of uninitialised value of size 8
==1096== at 0x4F35FDD: (within /lib64/libc-2.10.1.so)
==1096== by 0x4F35B11: (within /lib64/libc-2.10.1.so)
==1096== by 0x4A1E61C: _vgnU_freeres (vg_preloaded.c:60)
==1096== by 0x4E5F2E4: __run_exit_handlers (in /lib64/libc-2.10.1.so)
==1096== by 0x4E5F354: exit (in /lib64/libc-2.10.1.so)
==1096== by 0x4E48A2C: (below main) (in /lib64/libc-2.10.1.so)
==1096==
==1096== ERROR SUMMARY: 3819 errors from 298 contexts (suppressed: 876 from 4)
==1096== malloc/free: in use at exit: 0 bytes in 0 blocks.
==1096== malloc/free: 0 allocs, 0 frees, 0 bytes allocated.
==1096== For counts of detected errors, rerun with: -v
==1096== Use --track-origins=yes to see where uninitialised values come from
==1096== All heap blocks were freed -- no leaks are possible.
पूर्ण परिणाम यहां देख सकते हैं: http://pastebin.com/gcTN8xGp
मैं दो प्रश्न हैं; सबसे पहले सभी शोर को दबाने का कोई तरीका है?
- शो-डाउन-मेन डिफ़ॉल्ट रूप से सेट नहीं है, लेकिन ऐसा लगता है कि - शो-बाद-मुख्य समकक्ष नहीं है।
यह समस्या वालिग्रिंड से परिचित होने की तुलना में एक ग्लिबैक का उपयोग करने के साथ नई थी। सही दिशा में मुझे इंगित करने के लिए +1। –