2013-01-08 22 views
6

तो, मेरे पास एक परिवर्तनीय buffPtr है: TPointer इसमें 16 का आकार है और इसमें 0 से अधिक की संख्या शामिल है, जो 03854351387365 जैसी कुछ कहती है। मुझे यकीन है कि इसमें मान हैं, क्योंकि एप्लिकेशन यह करता है ठीक हैडेल्फी में डिबगिंग करते समय पॉइंटर के मान को कैसे विज़ुअलाइज़ करें?

मैं डिबगिंग करते समय यह मान देखना चाहता हूं।

यदि मैं घड़ियों में "पेंसिहर (buffPtr) ^" जोड़ता हूं तो मुझे केवल पहले बाइट दिखाई देता है।

+1

क्या आपने PAnsiChar (BufPtr) (^ के बिना) डालने की कोशिश की थी? – jachguate

उत्तर

8

मैं

के रूप में घड़ी गुण के साथ PAnsiChar (buffPtr)^

को एक घड़ी जोड़ा

दोबारा गिनें = 16 दशमलव

enter image description here

+0

मुझे प्रश्न या उत्तर समझ में नहीं आता है। क्या आप विस्तारित कर सकते हैं? –

+0

यह अच्छा होगा अगर आपने संवाद के इनपुट के बजाय, इस कॉन्फ़िगरेशन से * आउटपुट * की एक तस्वीर भी शामिल की है। –

3

आप घड़ी सेट किया है डंप करना स्मृति का एक क्षेत्र? कुछ संरचनाओं के लिए जो मदद करता है।

आप अपने आवेदन पुन: संयोजित कर सकते हैं, तो यह निर्धारित करें:

type 
    T16Values = array[0..15] of Byte; 
    P16Values = ^T16Values; 

फिर एक P16Values में अपने सूचक डाली, और कहा कि देखते हैं।

यदि यह Byte से अधिक डेटा प्रकार है, तो उपरोक्त कोड को तदनुसार बदलें।

+0

IMHO आपको इसकी आवश्यकता नहीं है, क्योंकि डीबगर सीधे कस्टम दोहराव संभालता है। –

+0

कभी-कभी कोड समय पर ऐसा करना अधिक सुविधाजनक होता है, क्योंकि डीबगर सेटिंग्स को सहेजने के लिए आपको पूरे सहेजने की आवश्यकता होती है .DSK, जो अक्सर दर्द में पड़ता है। –

+1

... या अभिव्यक्ति के लिए 16, बस जोड़ें। सेटिंग्स को बदलने की जरूरत नहीं है। ;) –

9

यदि आप सामान्य/बाइट मान चाहते हैं तो बस घड़ी अभिव्यक्ति PAnsiChar(buffPtr)^,16 या PByte(buffPtr)^,16 टाइप करें।

यहां की चाल एक अल्पविराम के बाद पैटर्न दोहराने की संख्या को जोड़ना है, जैसे ,16

यह आईएमएचओ वॉच प्रॉपर्टीज को बदलने से अधिक सुविधाजनक है, और यह आईडीई के एफ 7 मूल्यांकन कमांड के साथ काम करता है।

+0

+1; साफ़ - सुथरा तरीका। –