视觉工作室断点

use*_*967 2 c++ debugging visual-studio-2010

我有一个关于在Visual Studio 2010 Professional中设置断点的问题.

在下面的结构中,我有一个Update()函数,根据某些条件,更新它的成员的值i:

struct A
{
    A(int i) : i(i) {}

    void Update()
    {
        //Update i if some condition is met...
        if(something)
            i += 2;
    }

    int i;
};

int main()
{
    A a(2);

    //Update is usually called periodically...
    a.Update();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想在i等于4 时设置一个断点.我知道如何执行此操作的唯一方法是更改​​Update()函数,如下所示:

void Update()
{
        //Update i if some condition is met...
        if(something)
            i += 2;

        if(i == 4)
            int dummy = 1;
}
Run Code Online (Sandbox Code Playgroud)

现在我可以在线上设置一个断点:

int dummy = 1;
Run Code Online (Sandbox Code Playgroud)

i等于时,我会达到一个断点4.在这样的情况下,是否有更简洁的方法来设置断点?如何在不添加虚拟代码的情况下执行此操作?

lib*_*rik 5

使用鼠标以通常的方式设置断点.这会在代码的左边缘放置一个大红点.现在用鼠标右键单击大红点.您将看到一个可以更改断点的方法列表.选择"条件......".然后您可以进入i==4条件框.当i4为4 时,你将有一个断点.