使用GDB调试ARMv7二进制文件时,除了查看指令长度外,有没有办法确定CPU当前处于哪种模式? (ARM,Thumb)
答案 0 :(得分:9)
我正在使用这个小gdb脚本来确定CPSR字段的当前状态,只需将其放在〜/ .gdbinit文件中,并在需要时调用arm_isa。
define arm_isa
if ($cpsr & 0x20)
printf "Using THUMB(2) ISA\n"
else
printf "Using ARM ISA\n"
end
end
它检查cpsr中的第5位,它指示当前状态并输出使用过的ISA。