我希望找到类似的东西,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
因此将提供有关该语句的信息,但它没有提供有关求和步骤的信息。如果我想获取有关当前正在运行的程序的信息(包括使用的 CPU 指令),有什么办法吗?fprintf
write(2
注意:我知道gprof
需要预先编译的工具。我正在寻找一种方法来找到可能给您的相同信息gprof
,但使用当前正在运行的程序,该程序可能已考虑分析而编译。