如何在gdb中判断我是处于ARM模式还是Thumb模式?

时间:2014-03-26 11:46:18

标签: gdb arm thumb

使用GDB调试ARMv7二进制文件时,除了查看指令长度外,有没有办法确定CPU当前处于哪种模式? (ARM,Thumb)

1 个答案:

答案 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。