Могу ли я определить общий класс обертки для обнаружения записей и считывает из определенной переменной в моем коде?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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