DoFooStuff() が呼び出されるこのようなセットアップを考えると:
class Foo {
public:
void DoFooStuff(); // calls Bar::DoBarStuff()
}
class Bar {
public:
void DoBarStuff(); // Calls Bar::DoInternalBarStuff()
protected:
void DoInternalBarStuff();
}
私のスタック トレースがこれを正確に示すことができるのはなぜですか?:
Type Function
void Bar::DoInternalBarStuff()
void Foo::DoFooStuff()
DoInternalBarStuff() への唯一の参照は、DoBarStuff() 内にあります。DoInternalBarStuff() は、最初の行でアサートします。
assert(false);
そして、そこからスタック トレースが取得されます。