对数组使用unique_ptr,如何在调试模式“local”或“watch”标记中查看每个值

问题描述 投票:2回答:2

下面是简单的命令。如何在调试模式下查看每个数组值?

    int N=3;
    unique_ptr<int []> I(new int[N]());

    for (int i=0; i<N; i++)
    {   
         I[i]=i*3;  
    }  
c++ c++11
2个回答
2
投票

我假设IDE是visual studio。当你遇到I在范围内的断点时,打开一个Watch窗口并输入I.get(),3到一个新行。 get()为您提供原始int*指针,3将其作为int[3]数组显示在手表中,并列出其所有值。

Watch unique_ptr array example VS2017

受到this question的启发。这似乎适用于打开和关闭帧指针。


0
投票

编译with frame pointers将有所帮助。没有它们,调试将无法通过在x86可执行文件中删除它们来识别已被删除的局部变量的位置。

© www.soinside.com 2019 - 2024. All rights reserved.