GDB grep 信息源文件

问题描述 投票:0回答:1

是否可以在 gdb 中 grep 或过滤信息源的输出? 比如:

(gdb) info sources | grep bob.cpp

谢谢

gdb
1个回答
23
投票

是否可以在 gdb 中 grep 或过滤信息源的输出?

更新:

是的。截至提交 ae60f04e08bf(GDB 版本 9 及更高版本)

info sources
可以接受正则表达式和其他参数。来自
help info sources

All source files in the program or those matching REGEXP.
Usage: info sources [OPTION]... [REGEXP]
By default, REGEXP is used to match anywhere in the filename.

Options:
  -dirname
    Show only the files having a dirname matching REGEXP.

  -basename
    Show only the files having a basename matching REGEXP.

以前的答案:

不。这可以被视为一个错误:

info shared
采用可选的正则表达式来过滤共享库,但
info sources
没有。

解决方法:

(gdb) set logging on  # GDB output will now be copied into gdb.txt
(gdb) set pagination off
(gdb) info sources
(gdb) set logging off
(gdb) shell grep bob.cpp gdb.txt
(gdb) shell rm gdb.txt

如果您需要经常这样做,您可以将以上命令放入用户定义命令中。

© www.soinside.com 2019 - 2024. All rights reserved.