C++调试器不入法

C++调试器不入法,c++,visual-studio-2010,debugging,C++,Visual Studio 2010,Debugging,所以我在直线0,1处设置了一个断点;我试着进入这个方法,但它不会进入那里。你知道为什么吗 Collide(0,1); if(PosX<(screen->h-40)) { if(LevelOne[screenCamera.ScreenOffsetX][screenCamera.ScreenOffsetY+1] == 0) //Collision { screenCamera.SavePreviousOffests(); screenCam

所以我在直线0,1处设置了一个断点;我试着进入这个方法,但它不会进入那里。你知道为什么吗

Collide(0,1);
if(PosX<(screen->h-40))
{
    if(LevelOne[screenCamera.ScreenOffsetX][screenCamera.ScreenOffsetY+1] == 0) //Collision
    {
        screenCamera.SavePreviousOffests();
        screenCamera.ScreenOffsetY += 1;
        if(screenCamera.ScreenOffsetY > 30 ||
           screenCamera.ScreenOffsetY < 10 ||
           screenCamera.PreviosScreenOffsetY == 9)
        {
            Move(0, 40);
        }
    }
}

bool Hero::Collide(int xMovement, int yMovement)
{
    int nextPositionContents = LevelOne[PosX/40 + xMovement][PosY/40 + yMovement];
    if(nextPositionContents == 11) //blue key
    {
        //LevelOne[PosX/40 + xMovement][PosY/40+ yMovement] == 0;
        HasBlueKey = true;
    }
    if(nextPositionContents == 10 && HasBlueKey)//blue door
    {
        //LevelOne[PosX/40+ xMovement][PosY/40+ yMovement] == 0;
        HasBlueKey = false;
    }
    nextPositionContents = 0;

    return false;
}

它已经内联了吗?拆卸是什么样子的?我不知道你说的这两件事是什么意思。请详细说明。这些都在一个名为Hero的类中,您是否使用优化进行编译?如果是这样的话,就不要这样做。对于一个你想要快速发布的版本来说,这是个坏主意。如果您想调试代码,这是一个好主意。不,对于调试,禁用优化非常重要。优化使得调试器更难跟踪代码,看看@JasonD说了什么。