Я хочу отладить циклическую ссылкуshared_ptr. У меня есть специальная оболочка для Shared_ptr, которая позволяет ставить точки останова всякий раз, когда увеличивается количество ссылок.
Как я могу, используя ifdef или другой трюк компилятора, сделать так, чтобы любой код (включая мой конкретный заголовок) использует этот класс-оболочку вместо std::shared_ptr или std::make_shared.
Я не могу обновить весь код, чтобы использовать мой собственный класс.
Возможно ли это с помощью использования, typedef или макроса?
Если у кого-то есть лучший способ вызвать точку останова при изменении счетчика ссылокshared_ptr, это также приветствуется . Это огромная база кода, множество шаблонов, поэтому вручную использовать GDB сложно.
Valgrind показывает только распределение, а не увеличение количества ссылок, и asan не работает на целевой платформе. Обычными способами я уже пробовал. Они не работают. Поэтому я хочу установить точку останова при увеличении количества ссылок, чтобы увидеть, когда и где это произойдет.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -debugging