Visual studio 在VisualStudio中,有没有一种方法可以查看共享ptr的使用情况?

Visual studio 在VisualStudio中,有没有一种方法可以查看共享ptr的使用情况?,visual-studio,c++11,shared-ptr,smart-pointers,Visual Studio,C++11,Shared Ptr,Smart Pointers,有东西抓住了一个共享的ptr。我想知道是否有一种方法可以在所述共享ptr的使用上设置一个数据监视断点,以便查看使用的增量和减量。我工作的代码库非常大,因为我们使用QT信号和插槽,所以我不能100%确定如何跟踪共享所有权 我试过在谷歌上搜索这个问题,但还没有发现有人这么做。我的谷歌fu不是很强大,所以我可能会错过它。我还试着输入数据监视断点的变量名,如下所示 ptr->\u代表->\u使用 无济于事。我只是得到一个永远不会中断的空数据监视断点。我正在使用Visual Studio 2019。我找到

有东西抓住了一个共享的ptr。我想知道是否有一种方法可以在所述共享ptr的使用上设置一个数据监视断点,以便查看使用的增量和减量。我工作的代码库非常大,因为我们使用QT信号和插槽,所以我不能100%确定如何跟踪共享所有权

我试过在谷歌上搜索这个问题,但还没有发现有人这么做。我的谷歌fu不是很强大,所以我可能会错过它。我还试着输入数据监视断点的变量名,如下所示

ptr->\u代表->\u使用


无济于事。我只是得到一个永远不会中断的空数据监视断点。

我正在使用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)++;
    }
std::shared_ptr p(新int(0));
int*raw_ptr=&*p;
while(true)//此处的断点,当“*p”已更改时
{
(*原始ptr)++;
}

希望有帮助。

我正在使用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)++;
    }
std::shared_ptr p(新int(0));
int*raw_ptr=&*p;
while(true)//此处的断点,当“*p”已更改时
{
(*原始ptr)++;
}

希望能有所帮助。

我想我已经解决了问题,很抱歉遗漏了相关信息。它是一个std::shared\u ptr,因此断点中的*p指针不起作用。该类型被用户隐藏,所以我在写第一篇文章时错过了它。我想我已经解决了问题,我很抱歉遗漏了相关信息。它是一个std::shared\u ptr,因此断点中的*p指针不起作用。该类型被用户隐藏,所以我在写第一篇文章时错过了它。