Я пытаюсь использовать Apple Instruments (на El Capitan) без необходимости создания проекта в XCode. Я создал профилировщик времени, настроил свой проект, а затем начал профилировать проект. Я вижу все имена своих функций, и соответствующие времена отображаются правильно. Однако при двойном щелчке по имени функции отображается только информация о сборке.
Первое, что я попытался сделать, чтобы это исправить, это перейти к File -> Symbols
а затем выберите Incomplete
опция символов. В этом режиме я вижу свой dSYM, который не может найти, который содержит информацию об исходном коде. Итак, я нажимаю на Locate
и перейдите к dSYM, который он, похоже, не может найти. После выбора я получаю эту ошибку:
No new libraries to symbolicate
The specified path didn't locate a dSYM for any of the selected libraries.
Это неверно, и я могу даже зайти в сам пакет dSYM и сравнить его с другими пакетами dSYM, которые он находит по тому же пути. Сравнивая info.plist
файл, который генерирует dSYM, все выглядит одинаково, поэтому я не знаю, почему он не может его найти.
Поскольку я действительно хотел видеть только исходный код одного файла, я дважды щелкнул по этой функции. Я получаю небольшое предупреждение с восклицательным знаком, который позволяет мне вручную найти файл с исходным кодом. Большой! Я нажимаю на эту кнопку, прямо указываю на .cpp
файл, который он не может найти, и нажмите кнопку ОК. Несмотря на это, ничего не происходит, и исходный код все еще говорит, что он недоступен. Когда я нажимаю на Unavailable
часть, это заявляет это: The file doesn’t exist.
Наконец, я попытался увидеть исходный код, щелкнув правой кнопкой мыши на функцию, которую я хотел посмотреть, и нажав Locate dSYM
, После выбора правильного dSYM я получаю эту ошибку:
The UUID of '/Users/me/project/trunk/lib/libCore.0.dylib.dSYM'
does not match the UUID for 'libCore.0.dylib'
Я проверил UUID обоих dSYM и dylib с помощью:
dwarfdump --uuid "libCore.0.dylib.dSYM" | cut -d' ' -f2
dwarfdump --uuid "libCore.0.dylib" | cut -d' ' -f2
И они не совпадают.
Кто-нибудь знает, как я мог решить эту проблему? Есть ли способ исправить проблему UUID? В противном случае все в Apple Instruments работает нормально, и он может как-то найти dSYM в том же каталоге, что и dSYM, который он предположительно не может найти. У меня была эта проблема некоторое время, и я собираюсь просто отказаться от инструментов 🙁
Задача ещё не решена.
Других решений пока нет …