Есть ли способ для просмотра данных использования shared_ptr в Visual Studio? - PullRequest
1 голос
/ 04 июля 2019

Что-то держит на shared_ptr. Мне интересно, есть ли способ, которым я могу установить точку останова Data Watch для использования указанного shared_ptr, чтобы я мог видеть приращение и уменьшение использования. Кодовая база, над которой я работаю, очень велика, и, поскольку мы используем Сигналы и Слоты QT, я не уверен на 100%, как отследить, что получает общее владение этим.

Я пытался погуглить этот вопрос и не нашел никого, кто пытался бы это сделать. Мой гугл-фу не очень сильный, поэтому я мог его пропустить. Я также попытался просто ввести имя переменной для точки останова просмотра данных как

PTR -> _ Rep -> _ Использует

безрезультатно. Я просто получаю пустую точку останова просмотра данных, которая никогда не прерывается.

1 Ответ

0 голосов
/ 04 июля 2019

Я использую Visual Studio 2019. Я нашел способ сделать это.

Шаг 1. Добавьте нормальную точку останова после инициализации 'std :: shared_ptr'.

Шаг 2: Щелкните правой кнопкой мыши значок красной точки и выберите «Условие».

Шаг 3: введите имя общего указателя с "*" перед ним

Шаг 4: выберите опцию «Изменился».

Наконец-то выглядит вот так

Это хорошо работает, даже если я сделаю это:

    std::shared_ptr<int> p(new int(0));
    int* raw_ptr = &*p;
    while (true)             //Break point here, when "*p" "Has Changed"
    {
        (*raw_ptr)++;
    }

Надеюсь, это поможет.

...