Могу ли я определить общий класс обертки для обнаружения записей и считывает из определенной переменной в моем коде?C++

Программы на C++. Форум разработчиков
Anonymous
Могу ли я определить общий класс обертки для обнаружения записей и считывает из определенной переменной в моем коде?

Сообщение Anonymous »

Я хочу что -то похожее на точку разрыва данных, но в программном виде, чтобы сломать чтения и записать в определенное поле или переменную, определенную через тип обертки < /p>

Код: Выделить всё

class SomeSystem {
public:
int a;
int b;
int c;
};
Допустим, я хочу обнаружить записи в C во время выполнения и сломать их

Код: Выделить всё

class SomeSystem {
public:
int a;
int b;
MyWatch c;
};
< /code>
и mywatch что -то вроде < /p>
template
class MyWatch {
// ...
void OnRead();
void OnWrite();
};

// ...

void MyWatch::OnRead() {
__debugbreak();
}

void MyWatch::OnWrite() {
__debugbreak();
}
Проблема в том, что я не знаю, как заставить компилятор относиться к mywatch как int неявно во всех местах по всей базе кода. Я планирую использовать его в качестве своего отладчика для отладки любых типов, включая нетривиальные. Некоторые из типов используют неявные преобразования Bool, оператор-> или обычный оператор доступа к члену. Если тип является типом значения. Есть ли способ переслать все упоминания о экземпляре MyWatch значении в его базовое значение t одновременно? Это, конечно, не помогает мне найти memset -подобные записи в память, но все же может быть полезным для меня. Точки остановки данных иногда не запускаются, и мне приходится заботиться о том, чтобы установить их после создания, чтобы я должен был найти, где создание экземпляров происходит в первую очередь

Подробнее здесь: https://stackoverflow.com/questions/794 ... m-a-specif

Вернуться в «C++»