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.