I have added a breakpoint (the red oblique circle left of a code line) in one of my functions (`#A`-line).

```
public: B(const Vector3& move){
    this->move_=move;
    if(!Vector3::isValid(move)){
        int asdf=0;                //#A
    }
    basis_=Matrix3x3::identity();  //#B
}

```

If it run in **debug mode**, or **release mode without optimization**, the program will pause at `#A` correctly.

If it run in **release mode with optimization**, the breakpoint will move to `#B` ***by itself!***  

Thus, the program will pause every time it passes the function.

I know that when optimized, the line `#A` would be optimized out.  

As a result, the line would never be passed.  

I expect that it would never pause in the function at all. 

**The actual behavior is :** It always pauses at `#B`.  

It seems to be a bug of Visual Studio for me. (?)

**Question**
------------

How to make the program not pause at `#B`?  

In other words, how to force Visual Studio to not shift the breakpoint automatically?