“以$开头的名称引用寄存器(具有它们将具有的值) 如果程序返回到现在选择的堆栈帧,则恢复 所有寄存器都由帧进一步保存)或者调试器 “便利”变量(任何此类名称不是已知的寄存器)。 使用赋值表达式为便捷变量赋值。“
以上行来自gdb中的帮助打印。 有人可以解释一下上面的行。特别是哪个寄存器在这里被引用? 感谢。
答案 0 :(得分:2)
因此,根据手册页,print是“显示表达式的值”。因此,这些将讨论CPU在当前断点处的寄存器值。这是关于调试寄存器值的一些detailed information。
GDB在大多数机器上都有四个“标准”寄存器名称(在表达式中) - 只要它们不与架构的寄存器规范助记符冲突。寄存器名称$ pc和$ sp用于程序计数器寄存器和堆栈指针。 $ fp用于包含指向当前堆栈帧的指针的寄存器,$ ps用于包含处理器状态的寄存器。例如,您可以使用
以十六进制打印程序计数器
您可以通过
获取有关可用寄存器的更多信息info registers
和
info all-registers
然后使用
了解特定寄存器的其他信息info registers register_name
希望这有帮助!
答案 1 :(得分:1)
指的是CPU寄存器。例如,EAX,ECX,ESP,EIP ......