【问题标题】:Is there anyway to get all the values inside the processor registrers?无论如何要获取处理器寄存器中的所有值吗?
【发布时间】:2013-05-31 15:27:18
【问题描述】:

有没有办法在任何编程语言中获取处理器注册器中的所有值?

例如:

在函数调用的确切时刻获取驻留在处理器注册器中的所有值(无论格式和类型、十六进制、二进制),并将其复制到内存中?

【问题讨论】:

  • 运行一个模拟器,看看里面有什么。除此之外,您想要逻辑寄存器还是物理寄存器?很多时候,硬件的寄存器比机器代码所能描述的要多。有关更多信息,请参阅en.wikipedia.org/wiki/Register_renaming。但是调试器有一些技巧可以遍历寄存器的所有内容。
  • @btilly 物理注册者。我 gyess gbd 会做的伎俩。谢谢!
  • 您无法访问的物理寄存器。它们存在于 CPU 中,但 CPU 负责假装在 CPU 上运行的软件不存在它们。

标签: assembly hardware theory processor


【解决方案1】:

你的意思是core dump?如果您想要有关当前状态的信息,可以通过调试器(例如 gdb)来完成。

如果您希望在编译时使用它,您可能必须编写一个汇编函数来返回您想要的信息。可能有一个库函数可以做到,但我不太确定。

【讨论】:

    【解决方案2】:

    只在 Ketman Interpreter 中见过它,这是我 30 年来见过的唯一的汇编解释器/调试器

    整个 DOS 行业从 1980 年到 1995 年都没有做出来

    从 1995 年到今天,整个 Windows 行业都没有成功

    【讨论】:

      猜你喜欢
      • 2017-10-13
      • 2016-08-26
      • 2013-01-19
      • 2014-07-19
      • 1970-01-01
      • 2012-05-06
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      相关资源
      最近更新 更多