Espero encontrar algo semelhante strace
que produza as instruções usadas pela CPU. Por exemplo, tenho um loop simples que calcula uma soma e imprime a cada décima iteração
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);
}
Agora, strace
fornecerá informações sobre a fprintf
afirmação, já que se trata de uma write(2
afirmação, mas não fornecerá informações sobre as etapas de soma. Se eu quiser obter informações sobre um programa em execução, incluindo as instruções da CPU usadas, existe uma maneira de fazer isso?
NOTA: Conheço ferramentas como as gprof
que requerem compilação prévia. Estou procurando uma maneira de encontrar as mesmas informações que gprof
você pode fornecer, mas com um programa em execução ATUAL que pode ou não ter sido compilado com o perfil em mente.