I have a `GameObject` class that inherits from `Object`. Stepping in both their constructors has gone crazy, but the objects are created without a problem. Before someone asks, I'm on a debug build. Let me show you:

**Edit** Since people complained, I will post the actual code, not images.

```
GameObject::GameObject(string name) : Object(name)
{
    // ...
}

Component* GameObject::AddComponent(SharedPtrComponent component)
{
    if (find(components.begin(), components.end(), component) == components.end())
    {
        components.push_back(component);
        return component.get();
    }

    return nullptr;
}

```

After the program executes the first line of the `GameObject` constructor (i.e. the `Object` initialization), it skips to the empty line between the brace and `return nullptr` in `AddComponent`.

What's going on?

PS. I tried this on both express and ultimate versions. Exact same stepping sequence. And I tried cleaning etc. The `Object` constructor is acting up likewise. Mm.

**Update:** Ok, maybe this works: here's a minimal project which still exhibits the strange stepping: [VS2013 project](http://rapidshare.com/share/7F2225BC5CBDAF158D4F92D13B5916A8)