有没有办法在gdb中输出print命令?在我的情况下,我正在使用gdb调试核心转储,并且正在调试的对象包含许多元素。我发现很难找到匹配的属性,即:如何grep gdb print
(gdb) print *this | grep <attribute>
谢谢。
有没有办法在gdb中输出print命令?在我的情况下,我正在使用gdb调试核心转储,并且正在调试的对象包含许多元素。我发现很难找到匹配的属性,即:如何grep gdb print
(gdb) print *this | grep <attribute>
谢谢。
(gdb)print * this | grep
实现此目标的“标准”方法是在emacs
中使用Meta-X gdb
。
一种替代方案:
(gdb) set logging on
(gdb) print *this
(gdb) set logging off
(gdb) shell grep attribute gdb.txt
通过比较上述cnicutar看起来很吸引人提到的补丁。我猜测它(或其等价物)永远不会提交的原因是大多数GDB维护者使用emacs
,所以首先没有这个问题。
谢谢@雇佣俄罗斯 –
@雇用俄罗斯理由:http://sourceware.org/ml/gdb-patches/2011-07/msg00284.html – matt
你在说什么?我正在使用Emacs,只是试着'print $ rax | grep 41',它说«没有符号“grep”»。如果你的意思是说emacs允许搜索,那肯定不是本机grep。 grep可以在脚本中使用,即使gdb观察点不停止在特定的函数*(这就是我想要实现的)*。 –
然后你想要这个补丁:http://sourceware.org/ml/gdb-patches/2011-07/msg00572.html – cnicutar
这个语法的主要问题是,字符是一个有效的c操作符。 – matt