Я хочу профилировать приложение из QtCreator с помощью Vtune на Windows 7. Но Vtune в основном сделан для приложений Visual Studio, поэтому я должен сделать связь между именами моей функции и инструкцией в сборке релиза.
На самом деле у меня есть только псевдо-имена func @ address в горячих точках, его нельзя использовать.
Изучая «Начало работы» от Intel Vtune, я обнаружил, что Я должен включить информацию отладки в моей сборке релиза, но как это сделать в QtCreator?
Из файла «Использование отладочной информации»:
Чтобы предоставить точные данные о производительности и включить анализ источников,
Intel® VTune ™ Amplifier требует отладочную информацию для двоичного файла
файлы это анализирует. Если он не находит отладочную информацию в
двоичные файлы, VTune Amplifier статически определяет функцию
границы и назначает адреса горячих точек для сгенерированных псевдо-имен
func @ адрес для таких функций.Если отладочная информация отсутствует, панель Call Stack может не раскрутить
стек вызовов правильно для выборочного анализа и анализа трассировки в пользовательском режиме
типы. Кроме того, в некоторых случаях это может занять значительно больше времени
завершить результаты для модулей, которые не имеют отладки
Информация.В операционных системах Windows * файлы PDB предоставляют отладочную информацию.
Убедитесь, что ваши системные и прикладные библиотеки / исполняемые файлы имеют
PDB файлы. Скомпилируйте свою цель с оптимизацией и начните профилирование
его производительность.По умолчанию Microsoft Visual Studio * IDE не создает PDB
информация в режиме Release. Для лучших результатов с VTune
Усилитель, включить генерацию символов вручную. Для системных библиотек,
используйте Microsoft * Symbol Server для загрузки необходимых файлов PDB
с веб-сайта Microsoft *. Выполните следующие действия, чтобы
VTune Amplifier использует отладочную информацию как для системы, так и для вашей собственной
библиотеки.
Я пробую некоторые методы, такие как: -edit file.pro, чтобы изменить сборку релиза
QMAKE_CXXFLAGS_RELEASE += -g
QMAKE_CFLAGS_RELEASE += -g
QMAKE_LFLAGS_RELEASE =
но это ничего не меняет, у меня все еще не напечатано имя функции
Любой вклад очень ценится.
Да, для VTune (или других подобных инструментов профилирования) вам нужна «сборка релиза» (т.е. оптимизация включена) с включенной отладочной информацией. QTCreator по умолчанию не создает такую конфигурацию релиза + отладки.
В случае набора инструментов для компилятора Windows MS это означает, что вы должны дополнение Выпуск конфигурации с дополнительный Параметры компиляции / Zi и / DEBUG.
Для распространения этих дополнительных опций в QTCreator используйте следующие шаги (см. также скриншот ниже):
QMAKE_CXXFLAGS+=-Zi
QMAKE_LFLAGS+=/DEBUG
Еще несколько незначительный заметки: