Instruments Leaks-не показывает мой исходный код

Я пытаюсь проанализировать приложение iPhone с помощью приложения утечки, и все, кажется, работает нормально, за исключением того, когда я пытаюсь просмотреть подробную информацию о конкретной утечке памяти. Утечки, похоже, не загружают мой исходный код. Глядя на представление стека справа, я вижу вызовы, ссылающиеся на фреймворки iPhone, но все, что ссылается на исходный код, который я написал, пусто. Скриншот ниже иллюстрирует мою точку зрения. Блоки, которые светло-голубой должен ссылаться на мой исходный код. Кто-нибудь имел эту проблему? Утечки просто не находят мой исходный код/символы правильно? Спасибо!

EDIT: я компилирую приложение, используя "устройство-iPhone OS 2.2" с конфигурацией отладки. Я запускаю утечки, выбрав Run - >Start With Performance Tool - >утечки из Xcode. Как можно было бы "сделать файлы символов доступными"для утечек?

alt-текст http://www.andrewgarrison.com/forum/leaks_nosource.png

8 ответов


удалите все символы, отличные от ascii, с вашего загрузочного диска
и Хоста (см. Панель обмена в Системных настройках) и перезапустить.

та-да!


для iOS 4.0 и выше способ исправить символы и превратить эти бесполезные адреса памяти в красивые имена файлов, имена функций и номера строк выглядит следующим образом:

  1. в Xcode перейдите в Run - > Run with Performance Tool и выберите свой инструмент
  2. после загрузки инструментов нажмите кнопку "стоп", чтобы остановить запись. Перейдите в файл - > Re-Symbolicate Document.
  3. В открывшемся окне выберите путь и нажмите кнопку Плюс ( + ), чтобы добавить новый путь. Перейдите к папку, содержащую файл проекта и нажмите кнопку Открыть. Нажмите Symbolicate.
  4. профит!

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


Я видел как это произошло, но в другой конфигурации. В Snow Leopard 10.6.1, Xcode 3.2, Instruments 2.0 я не получал никаких символов в утечках при запуске iPhone OS 3.0 в симуляторе. Поиск в форумах разработчиков iPhone от Apple показал, что это известная проблема с iPhone 3.0 SDK (который работал), и переключение активного SDK на 3.1 было обходным путем. Конечно, это сработало для меня!


проект> Изменить Настройки Проекта

выбрать Debug цель

клик Build Tab

убедится Прокладка Соединенный Продукт снят


вы скомпилировали в режиме отладки и сделали файлы символов доступными?


Если ваш целевой каталог сборки начинается с "."(например, я использовал ".xcode-build") затем .dsym файлы не будут найдены. В моем случае изменение каталога сборки на "xcode-build" исправило проблему, и теперь все символы моего приложения отображаются в трассировках стека!


У меня была та же проблема. Оказалось, что я установил каталог сборки в /tmp / xcode. Изменение этого значения на значение по умолчанию исправило проблему. Это было с Xcode 3.2.3.


У меня есть Снежный Барс с Xcode 4.5.2 - 4.5 инструменты Как только я установил местоположение отладки по умолчанию в Legacy, он начал показывать

перейти к файлу - - - - > настройки проекта - - - - > дополнительно - - - выберите Legacy

Debug Location ---Legacy Settings