可以使用linux gdb调试cpp代码吗?如果是的话,如何在对象上调用的函数上保留断点

时间:2019-03-29 08:37:58

标签: c++ gdb

示例:

class test_gdb
{
    public:
        void testFun(void)
        {
            cout << "this is test function"<<endl;
        }
};

int main(void)
{
    test_gdb testObj;
    testObj.testFun();
}

在这里,如果我想在testFun上保留一个断点,该怎么办。我尝试了一下,但是使用了break testFun,但是没有用。

1 个答案:

答案 0 :(得分:0)

  

我该怎么办

几种方法:

(gdb) break test_gdb::testFun

在所有testFun上设置断点,无论它们在哪个类中定义:

(gdb) rbreak testFun

如果您有多个testFun,它们具有不同的签名(不同的参数类型),则可以使用GDB制表符补全来选择一个

(gdb) break 'test_gdb::testFun<TAB>  # GDB will complete or offer multiple choice