4

引数を受け入れる C プログラムがあります。gdb を使用してデバッグ中に引数を渡したいのですが、たとえば python コマンドを使用して引数を指定したいと考えています。そう、

(gdb) run >>python return "a"*20 #arg1 >>python return 1+2 #arg2

これどうやってするの?これを行う理由は、バイトコードアドレスを引数としてプログラムに渡したいからですが、それを文字列として渡すと、すべてが ASCII に変換されるだけです。つまり、試してみると:

(gdb) run \xf7\xff\xba\xb5

次に、上で指定したアドレスは、メモリ アドレスとして使用されるのではなく、ASCII 文字列に変換されます。最初のクエリが回答された場合、2 番目のクエリも回答される可能性があると思います。

ありがとう。

4

1 に答える 1

8

解決策を見つけました。

(gdb) run "`python -c 'print "\xff\xff\xff\xff"'`"

于 2013-09-21T19:27:05.357 に答える