क्या प्रक्रिया को मारने के बिना कोर डंप उत्पन्न करना संभव है? यदि हां, तो ऐसा करने के लिए कमांड/सिग्नल क्या है?हत्या प्रक्रिया के बिना लिनक्स कोर डंप
धन्यवाद, जिम
क्या प्रक्रिया को मारने के बिना कोर डंप उत्पन्न करना संभव है? यदि हां, तो ऐसा करने के लिए कमांड/सिग्नल क्या है?हत्या प्रक्रिया के बिना लिनक्स कोर डंप
धन्यवाद, जिम
'gcore' कमांड, GDB का हिस्सा देखें।
मुझे चलने वाले कार्यक्रम में बैच मोड में जीडीबी संलग्न करने, बैकट्रैक प्राप्त करने और फिर अलग करने के साथ सबसे अच्छी सफलता मिली।
gdb --batch --quiet -ex "set pagination off" -ex "thread apply all bt"
-ex "detach" -ex "quit" pid pid_of_process
लेकिन बैकट्रैक एक coredump नहीं है – osgx
एक विधि gdb
बिना कार्यक्रम से सीधे एक coredump उत्पन्न करने के लिए यहाँ वर्णित है: https://unix.stackexchange.com/questions/11185/dump-process-core-without-killing-the-process
यह भावना केवल यदि आप विकसित कर रहे हैं सुनिश्चित करें। सिद्धांत कांटा कार्यक्रम और बच्चे से SIGABRT
बढ़ाने के लिए है।
यह आशाजनक लग रहा है। मुझे इस तरह कोर फाइल मिली है। हालांकि, जिस प्रक्रिया का मैं विश्लेषण कर रहा हूं, जैसे ही मैं इसे से जीडीबी अलग करता हूं। अगर मैं इसे दबाता हूं तो यह तुरंत समाप्त हो जाता है। क्या आप यह पता लगाने से रोकने के लिए किसी भी तरह से जानते हैं कि यह जीडीबी/स्ट्रेस द्वारा संलग्न हो रहा है? फिर से धन्यवाद! – Jim
आप प्रक्रिया के खिलाफ गकोर चला सकते हैं और फिर डंप किए गए कोर के खिलाफ gdb चला सकते हैं। पसंद: "गोर 12345; जीडीबी/पथ/से/बाइनरी कोर .12345" –