有没有办法自动找到方法属于gdb的c ++命名空间?

时间:2015-08-13 11:13:30

标签: c++ gdb

我有一个巨大的代码基础,几个命名空间是作用域的,不幸的是我错过了我的方法是哪个命名空间。

如果我只有一个方法名称,GDB会帮助我完成这项任务吗?它可以搜索命名空间来查找我的方法吗?

e.g:

    (gdb) b getTranslation
    Function "getTranslation" not defined.
    Make breakpoint pending on future shared library load? (y or [n]) n
    (gdb) b HPHP::jit::getTranslation
    Function "HPHP::jit::getTranslation" not defined.
    Make breakpoint pending on future shared library load? (y or [n]) n
    (gdb) b HPHP::jit::MCGenerator::getTranslation
    Breakpoint 1 at 0x16a1a058: file hhvm/hphp/runtime/vm/jit/mc-generator.cpp, line 308.
    (gdb) # Ahhh, finally!

通常我会运行代码并开始收集命名空间,但有时它们很棘手,因为在标题的中间定义了新的命名空间...

1 个答案:

答案 0 :(得分:3)

使用this question and its answers作为提示,您可以使用例如info functions getTranslation,它应该列出名为getTranslation的所有函数以及类/名称空间。