Утечки инструментов - Не показывать исходный код

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

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

alt text http://www.andrewgarrison.com/forum/leaks_nosource.png

Ответы

Ответ 1

Удалите любые символы не-ascii с вашего загрузочного диска

и имя хоста (см. панель "Общий доступ" в "Системные настройки" ) и перезапустить.

Ta da!

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

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

Выберите Отладка цель

Нажмите вкладку Создать

Убедитесь, что Связанный с Strip продукт не установлен

Ответ 5

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

Ответ 6

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

Ответ 7

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

Ответ 8

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

Перейдите в Файл ---- > Настройки проекта ---- > Дополнительно --- Выберите Наследие

Debug Location ---Legacy Settings