0

渡されたパラメーターがプログラムカウンターと等しくなるまでループする gdb 関数を作成しようとしています。

プリミティブ CPU 68332 を使用しています。ハードウェア ブレークポイントはありません。GDB ソフトウェア ブレークポイントをサポートする OS はなく、単一の命令ステップのみです。GDB は「nexti count」の「ソフトウェア」エミュレーションを提供します。JTAG は run to アドレスを提供します。

しかし、何らかの理由で JTAG を使用してアドレス指定を実行すると、CPU が過負荷になり、バス エラーが発生します。「ステップ」単一命令を確実に使用しているようにしか見えません。

GDB を使用してアドレスに「ステップ」すると、バス エラーは発生しません。

以下は、そのような GDB 関数での私の試みです。

define mtia
    if $argc == 1 then
    set $address = *(unsigned char*)$arg0
    while($address != $pc)
      nexti
    end
end

GDBが関数を受け入れて実行できるようにするための構文を正しく取得できないようです。

正しい構文は何ですか?

4

1 に答える 1