Как сгенерировать символьную информацию для использования с Linux-версией Intel VTune Amplifier? - PullRequest
2 голосов
/ 15 января 2011

Я использую Intel VTune Amplifier XE 2011 для анализа производительности моей программы.Я хочу иметь возможность просматривать исходный код в результатах анализа, и в документации говорится, что мне нужно предоставить информацию о символах.К сожалению, в нем не указано, как генерировать эту символьную информацию при компиляции моей программы.В версии VTune для Windows все, что мне нужно было сделать, это предоставить файл «.pdb», который будет генерировать Microsoft Visual Studio.Можно ли создать подобный файл, используя g ++ для предоставления этой информации о символах?

Ответы [ 3 ]

2 голосов
/ 15 января 2011

Вы пытались скомпилировать с -g? Обычно это все, что вам нужно для генерации символических данных для отладчиков, профилировщиков и т. Д.

Кстати, для профилирования в Linux Zoom от RotateRight.com намного удобнее, чем VTune.

1 голос
/ 15 января 2011

gcc -g <your stuff> должно быть все, что нужно.Однако я использовал более старую версию.

Параметры командной строки для более новой вещи: здесь

РЕДАКТИРОВАТЬ: Этот SO ответ , вероятно, более ценныйчем что-либо здесь.

0 голосов
/ 18 апреля 2012

Самый «классический» способ получить исполняемый файл, содержащий отладочную информацию с GCC, - это указать параметр командной строки «-g», как упоминалось другими авторами. Это не приводит к снижению производительности, поскольку отладочная информация находится в разделах ELF, которые не являются частью кода или сегмента данных. То есть разделы .debug * не отображаются в память во время обычного выполнения программы, это только время отладки, когда отладчик получает их.

Другим полезным соображением для любого разработчика, работающего над производственным программным обеспечением, является использование отдельных файлов отладочной информации . Это предполагает компиляцию программы с «-g», как описано выше, а затем использование утилиты objcopy для копирования разделов ELF, содержащих отладочную информацию, в отдельный файл и добавления ссылки из исходного двоичного файла в отдельный файл отладочной информации. Это чрезвычайно полезно для возможности хранения отладочной информации для битов, которые вы выпустили для клиента, так что возможна отладочная посмертная отладка. И, конечно же, для профилирования производительности на выпускных битах.

...