कल्पना कीजिए कि आपके पास निम्नलिखित घोषणा के साथ ए नामक एक वर्ग है।
class A
{
public:
A();
private:
int m_value;
};
आप प्रोग्राम को रोकना चाहते हैं जब कोई "m_value" का मान संशोधित करता है।
कक्षा की परिभाषा पर जाएं और ए के कंस्ट्रक्टर में एक ब्रेकपॉइंट लगाएं।
A::A()
{
... // set breakpoint here
}
एक बार हमने कार्यक्रम को रोक दिया:
डीबग -> नया ब्रेकपॉइंट -> नया डेटा ब्रेकप्वाइंट ...
पता: & (यह-> m_value)
बाइट काउंट: 4 (क्योंकि int में 4 बाइट्स हैं)
अब, हम प्रोग्राम को फिर से शुरू कर सकते हैं। मान परिवर्तित होने पर डीबगर बंद हो जाएगा।
आप विरासत में मिली कक्षाओं या मिश्रित कक्षाओं के साथ भी ऐसा कर सकते हैं।
class B
{
private:
A m_a;
};
पता: & (यह-> m_a.m_value)
यदि आप उस चर के बाइट्स की संख्या नहीं जानते हैं, जिसका आप निरीक्षण करना चाहते हैं, तो आप sizeof ऑपरेटर का उपयोग कर सकते हैं।
उदाहरण के लिए:
// to know the size of the word processor,
// if you want to inspect a pointer.
int wordTam = sizeof (void* );
यदि आप "कॉल स्टैक" को देखते हैं तो आप उस फ़ंक्शन को देख सकते हैं जिसने चर का मान बदल दिया है।