9

gdb からシェル コマンドを実行したいのですが、このシェル コマンドには引数が必要で、この引数は gdb 変数です。コマンドと引数をシェル インタープリターに渡す前に、gdb にこの変数を解釈させるにはどうすればよいですか?

たとえば、gdb プロンプトでは次のようになります。

(gdb) set $my_arg = 2
(gdb) shell echo $my_arg

2これを に印刷したいのですstdoutが、実際には空白行が印刷されます。

編集: Python スクリプトをサポートしていない ndk-gdb を使用しています。

4

2 に答える 2

13

新しいバージョンの gdb では、「eval」を使用できます。

(gdb) set $val = 2
(gdb) eval "shell echo %d", $val
2

古いバージョンの gdb を使用している場合は、「set logging」を使用してファイルに書き込み、sed などのシェル ユーティリティを使用してファイルを必要な形式に書き換えることが最善の方法です。

于 2013-06-20T19:08:30.120 に答える