профилирование сборки x86 - PullRequest
1 голос
/ 16 декабря 2010

Кто-нибудь знает хороший инструмент, который дал бы мне счетчик выполнения команд x86.Я посмотрел на gcov, но хотел бы взглянуть на другой вариант, который может мне помочь.Моя конечная цель состоит в том, чтобы иметь возможность вызывать эту функцию и давать ей функцию, которую я заинтересован в эмуляции / профилировании, и она будет возвращать количество раз, которое выполнялась каждая сборочная линия.Любые предложения приветствуются :) Спасибо

Ответы [ 4 ]

1 голос
/ 16 декабря 2010

Qemu может помочь, но в любом случае этот вид профилирования разрушит ваш профиль кэша / конвейера и будет бесполезен.

0 голосов
/ 22 августа 2012

Вы можете довольно легко собрать подобную программу в Linux, просто используйте ptrace в сочетании с objdump и немного логики, должно быть легко написать в asm.

Я получилидея из Как кодировать отладчики .

0 голосов
/ 16 декабря 2010

Аналитик кода AMD должен быть в состоянии сделать это, используя выборку на основе инструкций, хотя я не могу вспомнить, дает ли она проценты или простые числа для подсчета выполнения.

0 голосов
/ 16 декабря 2010

Если вы ищете инструкции, которые составляют значительный процент времени, и если вы можете запустить их в отладчике, то это будет работать .Он изолирует кодовые точки, которые отвечают за значительное время, будь то инструкции терминала или инструкции вызова функции, даже если они вызывают ввод / вывод.

Инструменты, которые будут выполнять это: Zoom ,если вы работаете в Linux, или LTProf если в Windows.

С другой стороны, если вы ищете измерение времени и подсчет выполнения, вам понадобится что-то еще, например, эмулятор (Valgrind?).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...