如何避免GDB中符号的名称空间前缀?

jww*_*jww 6 c++ gdb namespaces

我正在使用C++库.该库使用多个名称空间.调试时,我必须在每个符号名称前加上名称空间前缀.它会导致很多额外的工作和打字.

C++有一个using namespace X概念,可以更容易地使符号可用(许多手放弃).我在GDB中寻找类似的东西.例如,而不是b MyLibNamespace::Foo::bar,我想b Foo::bar.

GDB似乎没有与命名空间相关的帮助,但我可能做错了:

(gdb) help namespace
Undefined command: "namespace".  Try "help".
(gdb) namespace help
Undefined command: "namespace".  Try "help".
Run Code Online (Sandbox Code Playgroud)

我如何告诉GDB使用名称空间前缀,所以我不必为每个符号名称提供它?

Emp*_*ian 0

如何告诉 GDB 使用命名空间前缀,这样我就不必为每个符号名称提供它?

当前的 GDB 中似乎没有任何此类支持(截至 2017 年 8 月 13 日)。

您可以使用 Python 脚本来定义新命令来实现它。文档。

请注意,这完全是一个不平凡的命题。