0

echo などの他のコマンドにフックしようとしましたが、うまく機能します。しかし、x コマンドをフックすると、失敗します。これが私の .gdbinit ファイル内のコードです。

set $pince_injection_failed = 1
set $pince_debugging_mode = 0
define hook-x
  if $pince_injection_failed = 1
    echo asdf
end

define hookpost-x
  if $pince_debugging_mode = 0
    echo zxcv
end

gdb がフック用の関数のエイリアスを受け入れないことは承知しています。しかし、x はすでに完全な関数ですよね? エイリアスは見つかりませんでした。1文字では短すぎてコマンドを実行できないため、私もそれについて疑問に思っています

4

1 に答える 1

0

Mark Plotnick のおかげで解決策を見つけました。それは私の別の欠点のようです.関数の末尾が間違っていることがわかったので、すべての関数は、その関数がgdbによって自然に無視された後に来ました.

define keks
  set $lel=0
  while($lel<10)
    x/x 0x00400000
    set $lel = $lel+1
end

endwhile ループの最後に欠落があることに注意してください

于 2016-05-23T16:08:53.437 に答える