gdb stepping into nested member functions a.getClassB().getC

gdb stepping into nested member functions a.getClassB().getClassC().SomeMethodInClassC();

本文关键字:getClassB getC functions stepping into nested member gdb      更新时间:2023-10-16
Class A; //Singleton
Class B; // Singleton
Class C; //Singleton
1.A a;
2.a.getClassB().getClassC().SomeMethodInClassC();
3.//Some other code

这一步进入getClassB()函数,然后如果我在getClassB()方法返回时给出step,它直接进入第3行,而不是进入getClassC()方法。

gdb中是否有需要修改的设置?还是我遗漏了什么?

我试着在谷歌上搜索,但没有找到与这种类型的函数调用相关的内容。

  1. 首先确保SomeMethodInClassC没有被编译器内联,然后

  2. 使用

    设置击中成员函数时的断点

    (gdb) break C::SomeMethodInClassC()

网上有几个可用的文档。这里有一些例子