oprofile на разделенном бинарном файле - PullRequest
0 голосов
/ 28 июня 2011

Я пытаюсь найти способы использования oprofile в раздельном двоичном файле, но все еще получаю подробную информацию, когда таблицы символов будут доступны позже, но пока я не нашел никакого решения.

Вот моя ситуация:Наше программное обеспечение доставляется нашему клиенту раздетым, но у нас есть свободная версия на нашей сборочной машине.Когда у нас происходит сбой программного обеспечения, обратная трассировка может быть отправлена ​​обратно, и мы можем интерпретировать ее с помощью локальной несвязанной сборки.

Поскольку oprofile предназначен для взятия семплов и их интерпретации, есть ли способ отсоединить этот процесс?Существует ли способ для oprofile / opreport генерировать информацию профиля на основе шестнадцатеричного адреса, которую можно интерпретировать на другом компьютере со всеми доступными символами.Может быть, я могу сделать это, скопировав файлы примеров?

Я уверен, что это возможно, поэтому я обращаюсь к экспертам за советом.Подробные шаги были бы хороши.

Заранее спасибо.

1 Ответ

1 голос
/ 11 сентября 2011

Я нашел способ сделать это. Возможно, это не самое лучшее, но я удивлен, что это не вызвало достаточного интереса.

Скажем, у вас есть бинарный файл под названием "mybin", и вы запускаете его версию на своем сайте. Вот моя процедура:

  1. Попросите клиента (или вашего полевого инженера) запустить oprofile, целых девять ярдов (настройка, запуск, сброс и выключение), затем выполните:

    tar czf OP-`date +"%Y%m%d%H%M%S"`.tgz /var/lib/oprofile
    

    и отправьте обратно.

  2. На вашем компьютере сборки выполните следующее

    mkdir /tmp/migrate && cd /tmp/migrate
    tar xzf OP-*.tgz
    

    Теперь вы можете проверить общее использование ЦП на цели,

    opreport -% --session-dir=/tmp/migrate/var/lib/oprofile
    

    Если ваш «mybin» собран в /home/nobody/build/1.2.0/, вы можете использовать

    opreport -l mybin --image-path /home/nobody/build/1.2.0/ --session-dir=/tmp/migrate/var/lib/oprofile
    

    чтобы увидеть детали только для "mybin".

...