0

.gdbinit 10進数形式で表示したいときに「スタック」を簡単に印刷できるように、次のように定義しています。

define s
   x/5gd $rsp
end

これで、次のように入力できます。

>>> s
0x7fffffffe408: 10  8
0x7fffffffe418: 6   4
0x7fffffffe428: 2

デフォルトでは、5 つの 8 バイト値が出力されます。入力パラメーターを使用して、5 の代わりに渡す数値を使用するにはどうすればよいですか? たとえば、次のようなものです。

define s(d=5)
   x/%sgd $rsp % d
end

また、私は python に精通しているので、入力パラメーターにアクセスできる限り、それも使用できます。

def stack():
    return "x/%sgd" % ('5' if not argv[1].isdigit() else argv[1])
4

2 に答える 2