printfの結果をGDBの変数に保存する方法は?

printfの結果をGDBの変数に保存する方法は?
(gdb)printf "Hello %d", 7
Hello 7
(gdb)set $MyVar = printf "Hello %d", 7 // ???

printf "Hello %d", 7結果を$ MyVarに保存するにはどうすればよいですか?

答え1

evalは引数をprintfsしてからコマンドで実行します。したがって、printf引数のリストを取得してset $MyVar =最初に挿入してから評価できます。

(gdb) eval "set $MyVar = \"Hello %d\"", 7
(gdb) print $MyVar
$2 = "Hello 7"

関連情報