我正在尝试编写一个循环的 gdb 函数,直到传递的参数等于程序计数器。
我正在使用原始 CPU 68332。没有硬件断点。没有支持 GDB 软件断点的操作系统,只有一个指令步骤。GDB 提供了“next count”的“软件”仿真。JTAG 提供运行寻址。
但是,由于某种原因,JTAG 在用于运行寻址时会压倒 CPU,并且出现总线错误。我似乎只能可靠地使用“步骤”单指令。
如果我使用 GDB 'step' 到该地址,我不会收到总线错误。
下面是我对这种 GDB 功能的尝试。
define mtia
if $argc == 1 then
set $address = *(unsigned char*)$arg0
while($address != $pc)
nexti
end
end
我似乎无法获得正确的语法才能让 GDB 接受并运行该函数。
什么是正确的语法?