gdb

2013-01-17 68 views
36

में एक प्रक्रिया को कैसे संलग्न करें मेरे पास एक साधारण सी प्रोग्राम है जो एक प्रक्रिया को फोर्क करता है और फिर निष्पादन योग्य चलाता है।gdb

मैं बच्चे की प्रक्रिया को gdb से जोड़ना चाहता हूं।

मैं एक कंसोल में मुख्य कार्यक्रम चलाने और एक अन्य कंसोल खोलें बच्चे की प्रक्रिया के पीआईडी ​​लगता है, तो मैं निम्न आदेश के साथ gdb शुरू:

gdb attach 12271 

जहां 12271 बच्चे प्रक्रिया आईडी है, लेकिन संलग्नक के साथ विफल रहता है:

No such file or directory. 

कोई विचार क्यों?

+0

मैं संलग्न नहीं लगता कि एक कमांड लाइन तर्क है। एक बार gdb पहले से चल रहा है आप इसका उपयोग कर सकते हैं। इस लड़के के पास एक अच्छा ट्यूटोरियल है: http://dirac.org/linux/gdb/06-Debugging_A_Running_Process.php – thang

+0

संभावित डुप्लिकेट [क्या मैं चल रही प्रक्रिया को डीबग करने के लिए जीडीबी का उपयोग कर सकता हूं?] (http://stackoverflow.com/questions/2308653/कर सकते हैं-ए-उपयोग-gdb करने वाली डिबग-ए-चल-प्रक्रिया) –

उत्तर

76

इनमें से किसी एक का प्रयास करें:

gdb -p 12271 
gdb /path/to/exe 12271 

gdb /path/to/exe 
(gdb) attach 12271 
11

पहला तर्क निष्पादन योग्य कार्यक्रम का मार्ग होना चाहिए। तो

gdb progname 12271