2013-04-11 18 views
6

gdbのprintコマンドの出力にgrepする方法はありますか?私の場合は、gdbを使用してコアダンプをデバッグしています。デバッグしているオブジェクトには多くの要素が含まれています。一致する属性を探すのが難しいと感じています。つまり、gdbプリントでgrepする方法

(gdb) print *this | grep <attribute> 

ありがとうございました。

+1

このパッチが必要です。http://sourceware.org/ml/gdb-patches/2011-07/msg00572.html – cnicutar

+1

この構文の主な問題は、 characterは有効なc演算子です。 – matt

答えて

5

(gdb)print * this | grep

これを達成するための「標準的な」方法は、にMeta-X gdbを使用することです。

代替:

(gdb) set logging on 
(gdb) print *this 
(gdb) set logging off 
(gdb) shell grep attribute gdb.txt 

cnicutarで言及したパッチは必ず上記に比べて魅力的に見えます。私は、GDBのメンテナーがemacsを使用しているので、それが提出されなかった理由を推測しています。最初はこの問題がありません。

+0

ありがとう@Employed Russian –

+0

@Employedロシア語の理由:http://sourceware.org/ml/gdb-patches/2011-07/msg00284.html – matt

+0

あなたは何について話していますか?私はEmacsを使っていて、 'print $ rax | grep 41'、«No symbol "grep"»と書かれています。 emacsで検索できるということを意味するなら、それは確かにネイティブのgrepではありません。 grepはスクリプトで使用することができます。つまり、gdbウォッチポイントを特定の関数*で停止させないようにすることができます(これは私が達成しようとしていることです)。 –

関連する問題