编译器生成一些类方法,如复制构造函数、析构函数等。是否可以让 gdb 中断这些方法,例如,观察对象在哪里被复制或销毁?
最佳答案
Can gdb break on implicit class methods?
是的,当然可以。
(gdb) break MyClass::MyClass(const MyClass &) // break when copied
(gdb) break MyClass::~MyClass() // break when object destroyed
就这么简单。这些是基于断点的,不是基于文件:行,而是基于函数名。如果您有一个包装类的 namespace ,那么请确保为其提供完全限定的名称,例如
(gdb) break NyNamespace::MyClass::MyClass(const MyClass &)
看here获取在 GDB 中指定断点的方法列表。
关于c++ - gdb 可以中断隐式类方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22847303/