Hãy tưởng tượng bạn có một lớp gọi là A với khai báo sau.
class A
{
public:
A();
private:
int m_value;
};
Bạn muốn chương trình dừng lại khi ai đó sửa đổi giá trị của "m_value".
Đi đến định nghĩa lớp và đặt một điểm dừng trong hàm tạo của A.
A::A()
{
... // set breakpoint here
}
Khi chúng tôi dừng chương trình:
Gỡ lỗi -> Điểm dừng mới -> Điểm dừng dữ liệu mới ...
Địa chỉ: & (this-> m_value)
Byte Count: 4 (Vì int có 4 byte)
Bây giờ, chúng tôi có thể tiếp tục chương trình. Trình gỡ lỗi sẽ dừng khi giá trị được thay đổi.
Bạn có thể làm tương tự với các lớp kế thừa hoặc các lớp ghép.
class B
{
private:
A m_a;
};
Địa chỉ: & (này-> m_a.m_value)
Nếu bạn không biết số byte của biến bạn muốn kiểm tra, bạn có thể sử dụng toán tử sizeof.
Ví dụ:
// to know the size of the word processor,
// if you want to inspect a pointer.
int wordTam = sizeof (void* );
Nếu bạn nhìn vào "Ngăn xếp cuộc gọi", bạn có thể thấy hàm đã thay đổi giá trị của biến.