類似於「strace」的工具,但用於 CPU 指令

類似於「strace」的工具,但用於 CPU 指令

我希望找到類似的東西strace來產生 CPU 使用的指令。例如,我有一個簡單的循環,它計算總和並列印每十次迭代

float fsum = 0.0;
for(int i = 0; i < 1000; i++) {
  if(i%10==0) {
    fprintf(stderr, "%10.5f%%\n", 100.0*float(i)/float(1000));
  }
  fsum += 1.0/float(i);
}

現在,strace將提供有關該fprintf語句的信息,因為這是一個write(2語句,但它不提供有關求和步驟的資訊。如果我想獲取當前正在運行的程式的信息,包括所使用的CPU指令,有沒有辦法做到這一點?

注意:我知道一些gprof需要事先編譯的工具。我正在尋找一種方法來查找可能為您提供的相同信息gprof,但當前正在運行的程式可能已或可能未考慮到分析而進行編譯。

相關內容