Как использовать Instruments Time Profiler с clang, скомпилированным из командной строки?

В настоящее время я использую OS X Mavericks на этом компьютере и собираю приложение C ++ для научных вычислений. Я бы предпочел не конвертировать его в сборку XCode, если мне не нужно.

То, что я пытаюсь сделать, это профилировать программу, чтобы найти, какие разделы кода вызывают ее медленную работу. Это довольно простая сборка — примерно 15 исходных файлов, и я добавляю только следующие флаги: -g -O2 -ftree-vectorize. Например

clang++ MySource.cpp -g -O2 -ftree-vectorize -o MySource.o

Я запускаю программу, запускаю инструменты и прикрепляю к своему приложению профилировщик времени. Это все отлично работает. ОДНАКО, горячая точка в коде, который он идентифицирует, не имеет смысла, поскольку он выделяет строку кода, которая вызывается только при создании класса, и является ошибкой в ​​конструкции, которая регистрирует ошибку и выдает исключение для следующего линия. Ни одна ошибка не регистрируется, и никакое исключение не выдается, поэтому я уверен, что эта строка кода на самом деле не та, которая выполняется. Правильно ли я собираю вещи для использования с инструментами? Есть ли другие флаги, которые мне нужно добавить? Я заметил, что он не связывается автоматически с моим исходным кодом в инструментах — мне нужно вручную найти нужный файл исходного кода.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]