为什么visual studio不知道整数值正在改变?(调试)

Cam*_*Cam 1 c++ debugging visual-studio-2010

我有一些简单的代码行(如下).[bp]表示断点.

     for(int i=0;i<300;i++){}
     int i=0;
     cout<<i;
[bp] for (i=0;i<200;i++){}
Run Code Online (Sandbox Code Playgroud)

当我在visual studio中调试它时,它告诉我在断点上我等于300.令人讨厌的是,0被打印到控制台.有没有办法让它意识到不同范围内的两个变量实际上可以具有相同的名称?

我还想在第二个循环中添加一些代码然后调试它 - 但是当我尝试这样做时,我一直显示为300.非常讨厌.

Kei*_*las 5

在我的visual studio中,查看调试器Locals窗口

        i   300 int
        argc    1   int
        argv    0x00214b88  wchar_t * *
        i   0   int
Run Code Online (Sandbox Code Playgroud)

注意!调试输出中有两个i varible,i == 300和i == 0

我在想它变得困惑的原因是调试器的一个怪癖/错误,它跟踪我当你将鼠标悬停在i上时会感到困惑,它只会返回第一个i?或者某些这样的,我不认为它在语义上检查我要显示的内容.