2010-01-06 21 views
6

मैं किसी अन्य प्रोग्राम से चल रही प्रक्रिया (पीआईडी ​​और बाइनरी पथ ज्ञात) के स्टैक बैकट्रैक को प्राप्त करने का प्रयास कर रहा हूं। प्रश्न में कार्यक्रम सी ++ में लिखा गया है और gdb डीबगिंग प्रतीकों के साथ g ++ के साथ संकलित किया गया है।चल रहे प्रक्रिया के स्टैक बैकट्रैक प्राप्त करें

gdb -batch -x /dev/stdin <BINARY> <PID> << EOF 
thread apply all bt 
EOF 

मैं:

मैं एक सी या सी ++ पुस्तकालय कि लिनक्स, HP-UX और Solaris कि एक निर्गम कुछ इस तरह के साथ popen बुला() के उत्पादन के लिए इसी तरह का उत्पादन में काम करता है के लिए देख रहा हूँ lsstack (http://sourceforge.net/projects/lsstack/) मिला है, जो केवल लिनक्स है और Solaris के लिए pstack कार्यक्रम पता है।

क्या कोई इस क्रॉस यूनिक्स/पॉज़िक्स को करने का विश्वसनीय तरीका जानता है?

+0

भी 'लिनक्स पर gstack' उपयोगिता है, जो gdb ऊपर के समान फोन करके काम करता है की जरूरत है। – mark4o

उत्तर

2

आप libunwind

+0

धन्यवाद! libunwind-ptrace बहुत ही आशाजनक लग रहा है। – jsc

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