2010-01-05 6 views
10

यह निश्चित रूप से जुनूनी है, लेकिन मैं इस बात से मोहक हूं कि संकलक कैसे सी कोड को मशीन निर्देशों में अनुवाद करता है। चूंकि मैं कुछ निर्देशों पर थोड़ा अस्पष्ट हूं, इसलिए यह सहायक होगा यदि मैं व्यक्तिगत मशीन निर्देशों के स्तर पर एक संकलित प्रोग्राम के संचालन को देख सकता हूं - सी कथन के स्तर "नीचे" (जो कई सीपीयू निर्देश उत्पन्न कर सकता है)। दूसरे शब्दों में, क्या मैं एक मशीन निर्देश के बाद रजिस्टरों/मेमोरी परिवर्तन को देख सकता हूं?एक्सकोड डीबगर - सीपीयू निर्देशों के स्तर पर एकल चरण कैसे करें

मुझे यकीन है कि यह कुछ अन्य डिबगर्स के साथ संभव है, लेकिन मैं केवल एक्सकोड का उपयोग कर रहा हूं।

+1

gdb निश्चित रूप से यह कर सकते हैं, और Xcode डिबगर, एक gdb दृश्यपटल है तो सवाल यह है कि अगर यह किसी भी यूआई कि gdb कमान कॉल करने के लिए है। –

+0

धन्यवाद, और उत्तर 'हां' है - डब्ल्यू/विकल्प – gary

उत्तर

3

si "चरण निर्देश" है, और ni "अगले निर्देश" है । उनके पास "चरण" और "अगला" कोड की रेखाओं के लिए समान निर्देश है, केवल निर्देश स्तर पर।

+0

यह जीडीबी की तरह लगता है - क्या मैं एक्सकोड से ऐसा कर सकता हूं? – gary

+0

शिफ्ट-सेमी-आर कंसोल विंडो लाता है, जहां (एक बार जब आप तोड़ते हैं) तो आपको मानक जीडीबी प्रॉम्प्ट मिलता है। साथ ही, ऐसा लगता है कि रन मेन्यू में "निर्देश में कदम" आइटम (ऑप्ट-शिफ्ट-सेमीडी-आई) और "स्टेप ओवर निर्देश" आइटम (ऑप्ट-शिफ्ट-सेमी-ओ) है। –

+0

वह राजधानी "आई" (जैसा कि "इंडिगो" में है), कम-मामला "एल" नहीं है। –

2

डीबगर विंडो में, असेंबली सक्षम करें: रन/डीबगर डिस्प्ले/स्रोत और डिस्सेप्लर। एक ब्रेकपॉइंट मारा जब तक प्रतीक्षा करें। फिर विधानसभा में कदम उठाने के लिए (ओवर) निर्देश में रन/चरण का उपयोग करें।

+0

में चरण धन्यवाद - मेरे पास 'चरण में' था, लेकिन मशीन स्तर के चरणों के लिए विकल्प कुंजी को अनदेखा किया गया – gary

0

ओह, बारीकी से पर्याप्त जांच नहीं की - w/विकल्प में कदम (Cmd-ऑप्ट shft-मैं = ⌘⌥⇧I)

8

एक्सकोड के चरण, चरण में, और डीबगर के साथ चरणबद्ध आदेशों का उपयोग करना संभव है। यह चाल ctrl(नियंत्रण) कुंजी को पकड़ने के लिए है, जबकि आप संदर्भ बदलने के लिए डीबगर चरण आइकन पर माउस रखते हैं। प्रत्येक चरण आइकन के नीचे, रेखा एक बिंदु पर बदल जाएगी और फिर आप निर्देश स्तर पर कदम उठा सकते हैं।

लाल अंडाकार के साथ हाइलाइट किए गए संलग्न स्क्रीनशॉट देखें।

screenshot

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