2012-02-18 14 views
7

मैं लिनक्स टर्मिनल में जीडीबी के साथ एक सी प्रोग्राम डीबग कर रहा हूं, मैंने इसे अलग किया और इसे चलाया, फिर ईआईपी रजिस्टर मेमोरी एड्रेस खोजने की कोशिश की।अमान्य रजिस्टर ईआईपी?

(gdb) मैं r EIP अमान्य रजिस्टर `EIP '

यह क्यों कहता है कि मेरे EIP रजिस्टर अमान्य है: यह है कि क्या हुआ है?

+0

यह एक 64-बिट प्रोग्राम है ? यदि हां, तो यह चीर है, ईप नहीं। –

+0

हां, यह आपको धन्यवाद देता है मुझे नहीं पता था कि वे अलग-अलग नाम थे। – jay

+0

कूल, इसे उत्तर बनाते हुए। –

उत्तर

16

क्या यह 64-बिट प्रोग्राम है? यदि हां, तो यह चीर है, ईप नहीं।

+2

ध्यान दें कि 'gdb' आपको '$ पीसी' का उपयोग कर प्रोग्राम काउंटर का संदर्भ देने की अनुमति देता है। यह 32 और 64 बिट, और अन्य आर्किटेक्चर पर भी काम करेगा। – Jester

1

अपने कार्यक्रम की वास्तुकला के आधार पर रजिस्टर बदल सकते हैं:

  • 16 बिट - ip
  • 32 बिट - eip
  • 64 बिट - rip
संबंधित मुद्दे