से वर्तमान स्टैक पॉइंटर को पुनर्प्राप्त करना मैं gdb का उपयोग कर एक मूल सी प्रोग्राम निष्पादित कर रहा हूं। मेरे पास main()
की शुरुआत में ब्रेक पॉइंट है। कोड चलाने के बाद, जीडीबी मुख्य() पर अपेक्षित रूप से टूट जाता है। अब अगर मैं ढेर सूचक रजिस्टर (आरएसपी) की जांच, मैं जब मैं cat /proc/17232/stat | cut -d" " -f29/proc
का उपयोग कर एक ही जानकारी को पुनः प्राप्त/st/pid/stat
0x7fffffffe170: 0x00000000.
दिखाई दे रही है (जहां 17,232 है इस प्रक्रिया के लिए पीआईडी), मैं देख रहा हूँ:
140737488347112 (which in hex is: 0x7fffffffdfe8).
हम जीडीबी से वर्तमान स्टैक पॉइंटर का एक अलग मूल्य कैसे देखते हैं। और यह भी, क्यों gdb आरएसपी की सामग्री को NULL (0x00000000) के रूप में दिखा रहा है?
धन्यवाद।
स्पष्टीकरण के लिए धन्यवाद। यह पता लगाने की कोशिश करेगा कि स्मृति को मेरे परीक्षण में शून्य के रूप में क्यों दिखाया गया है। –