2010-06-11 20 views

उत्तर

10

'gcore' कमांड, GDB का हिस्सा देखें।

+0

यह आशाजनक लग रहा है। मुझे इस तरह कोर फाइल मिली है। हालांकि, जिस प्रक्रिया का मैं विश्लेषण कर रहा हूं, जैसे ही मैं इसे से जीडीबी अलग करता हूं। अगर मैं इसे दबाता हूं तो यह तुरंत समाप्त हो जाता है। क्या आप यह पता लगाने से रोकने के लिए किसी भी तरह से जानते हैं कि यह जीडीबी/स्ट्रेस द्वारा संलग्न हो रहा है? फिर से धन्यवाद! – Jim

+0

आप प्रक्रिया के खिलाफ गकोर चला सकते हैं और फिर डंप किए गए कोर के खिलाफ gdb चला सकते हैं। पसंद: "गोर 12345; जीडीबी/पथ/से/बाइनरी कोर .12345" –

3

मुझे चलने वाले कार्यक्रम में बैच मोड में जीडीबी संलग्न करने, बैकट्रैक प्राप्त करने और फिर अलग करने के साथ सबसे अच्छी सफलता मिली।

gdb --batch --quiet -ex "set pagination off" -ex "thread apply all bt" 
-ex "detach" -ex "quit" pid pid_of_process 
+3

लेकिन बैकट्रैक एक coredump नहीं है – osgx

0

एक विधि gdb बिना कार्यक्रम से सीधे एक coredump उत्पन्न करने के लिए यहाँ वर्णित है: https://unix.stackexchange.com/questions/11185/dump-process-core-without-killing-the-process

यह भावना केवल यदि आप विकसित कर रहे हैं सुनिश्चित करें। सिद्धांत कांटा कार्यक्रम और बच्चे से SIGABRT बढ़ाने के लिए है।

संबंधित मुद्दे