Given a setup like this, where DoFooStuff() is called:
class Foo {
public:
    void DoFooStuff(); // calls Bar::DoBarStuff()
}
class Bar {
public:
    void DoBarStuff(); // Calls Bar::DoInternalBarStuff()
protected:
    void DoInternalBarStuff();
}
What could make it possible that my stack trace could show exactly this?:
Type                   Function
void                   Bar::DoInternalBarStuff()
void                   Foo::DoFooStuff()
The only reference to DoInternalBarStuff() is in DoBarStuff(). DoInternalBarStuff() asserts on it's first line:
assert(false);
And that is the location where the stack trace is taken from.