1
gdbが "until"コマンドをどのように実装しているのか、私は非常に興味があります。gdbコマンド "until"はループを飛び越えることができますか?
私は、「仕上げ」がどのように機能するのか理解できます。関数の始めと終わりにebp/espレジスタを操作するコードルーチンがあるので、gdbはこれを使用して関数。
しかし、私の質問は、gdbはどのようにループの終わりを知っているのですか?デバッグシンボルが提供されていない場合、ループは別の内部ループを組み込む可能性があるので、ecxレジスタに依存することは解決策ではありません。それでは、ループの終わりをどうやって知っていますか? "while"と "do/while"と "for"のアセンブリコードは異なる可能性があり、 "finish"コマンドで探すことができるパターンがあるかどうかは不明です。
あなたの説明を参照してください。