Я надеюсь найти что-то похожее на 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
, но с ТОЛЬКО запущенной программой, которая может быть или не скомпилирована с учетом профилирования.