让我尝试澄清一下。
有什么方法可以让我看到我的计算机上非常非常低级别的活动吗?像这样的东西:
- 注册内容
- 正在发送的操作码
- 特定内存地址
或任何低于此的值(不确定是否可能)。我试图弄清楚这一点,以更多地了解现代计算机如何在如此低的水平上运行。
答案1
您可以使用像 之类的调试器查看单个程序的所有这些gdb
,但它变化得如此之快,以至于您无法看到任何实时观看的内容,甚至跟踪它以便您可以看到它也会使计算机速度减慢爬行。我建议学习汇编和编译器,这真正帮助我理解这些事情。然后gdb
,如果您想真正看到它,您可以单步执行程序。
答案2
您要求的非常低的级别是机器语言。这在很大程度上取决于处理器类型。如果您不打算自己进行直接机器语言编程,我不建议您进行间接级别的研究。
除此之外,CPU 技术变化很快 - 如果不是您的核心工作,那么变化太快,无法跟上步伐。
恕我直言,strace
这个级别足够深,足以理解操作系统级别发生的事情。
如果您想知道发生了什么 - 深入研究您看到在那里被调用的函数的源代码。
答案3
不直接。您可以在代码中设置陷阱,以便能够了解 CPU 此时在代码中正在执行的操作,但您实际上无法“看到”它实时执行的操作。