Инструмент, похожий на `strace`, но для инструкций ЦП

Инструмент, похожий на `strace`, но для инструкций ЦП

Я надеюсь найти что-то похожее, straceчто даст инструкции, используемые процессором. Например, у меня есть простой цикл, который вычисляет сумму и выводит каждую десятую итерацию

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оператор, но он не дает информации о шагах суммирования. Если я хочу получить информацию о текущей запущенной программе, включая используемые инструкции ЦП, есть ли способ сделать это?

ПРИМЕЧАНИЕ: Я знаю о таких инструментах, gprofкоторые требуют предварительной компиляции. Я ищу способ найти ту же информацию, которая gprofможет дать вам, но с ТЕКУЩЕЙ запущенной программой, которая может быть или не быть скомпилирована с учетом профилирования.

Связанный контент