我有点卡在这里。
这个想法是我想获得一个程序在执行期间运行的每条指令的文件。我想只用手中的可执行文件(无源)来完成它,并且能够确定什么时候在什么地址上发生了什么操作。
例如,我希望能够在 Google Chrome、Firefox 等上运行它。
我想将它用于我正在研究的性能预测系统。我想如果我能够获得在系统 1 上按顺序执行的每条指令,我可以尝试模拟/建模在系统 2 上运行的相同程序的运行时间,因为我将能够预测(虽然我知道不是 100% 准确)L1/L2 缓存未命中、L1/L2 缓存命中、TLB 命中/未命中、页面错误、浮点乘法运算所花费的时间等。
我想尝试在两个不同的系统上执行此操作:
系统 1:基于 Intel Core 2 Duo CPU 的 Ubuntu 10.10
系统 2:Ubuntu 12.04 在系统上使用 2x AMD 十六核 Opteron 型号 6274
(我绝对可以根据需要更改操作系统,但如果可能的话,我更愿意继续使用 Ubuntu)
这可能吗/我该怎么做?我知道调试器,您可以使用它们来逐步执行所有操作,但我没有可用的源代码。