Как инструменты получают отладочную информацию:
Приборы получают отладочную информацию из файла .dSYM, который обычно генерируется XCode автоматически при установке формата отладочной информации в DWARF с файлом dSYM в сочетании с флажком в поле «Создать символы отладки». Установка этих параметров добавит дополнительный шаг к процессу сборки XCode и создаст файл dSYM после компиляции приложения. Каждый dSYM построен с UUID, который соответствует UUID в секции Mach-O в двоичном файле, из которого он получен. Импортер Spotlight индексирует UUID каждого файла dSym, который находится в доступном для Spotlight месте на вашем Mac. Поэтому SPOTLIGHT выполняет всю черную магию и отвечает за создание связи между .app, который вы используете, и соответствующим файлом .dSYM.
Как создать отладочную информацию и файл dSYM без XCode:
Убедитесь, что вы компилируете с флагами -gdwarf-2 и -g. (Другие комбинации флагов могут работать)
-g
Производить отладочную информацию в
родной формат операционной системы
(удары, COFF, XCOFF или DWARF 2).
GDB может работать с этой отладкой
Информация. На большинстве систем, которые используют
формат stabs, -g позволяет использовать дополнительные
отладочная информация, что только GDB
можешь использовать; эта дополнительная информация делает
отладка лучше работает в GDB, но
возможно, вывести из строя другие отладчики или
отказаться от чтения программы. если ты
хочу точно контролировать, стоит ли
генерировать дополнительную информацию, использовать
-gstabs +, -gstabs, -gxcoff +, -gxcoff или -gvms (см. ниже). GCC позволяет
использовать -g с -O. Ярлыки
взятый оптимизированным кодом может
иногда производят удивительные
Результаты: некоторые переменные, которые вы объявили
может вообще не существовать; поток контроля
может ненадолго переместиться туда, где вы этого не сделали
ожидать этого; некоторые утверждения не могут быть
выполняется, потому что они вычисляют
постоянные результаты или их значения были
уже под рукой; некоторые заявления могут
выполнять в разных местах, потому что
они были извлечены из петель.
Тем не менее, оказывается возможным
отладка оптимизированного вывода. Это делает это
разумно использовать оптимизатор для
программы, которые могут иметь ошибки.
-gdwarf-2
Создание отладочной информации в формате DWARF версии 2
(если это поддерживается). Это
Формат, используемый DBX в IRIX 6. С
эта опция, GCC использует функции
DWARF версия 3, когда они полезны;
версия 3 совместима с
версия 2, но все еще может вызвать
проблемы для старых отладчиков.
Создайте файл dSYM с помощью dsymutil. Если инструмент не распознается в командной строке, используйте прожектор, чтобы найти его.
ВАЖНО: Поместите файл .app на ваш Mac HD перед созданием dSYM, если вы работаете на сетевом диске.
dsymutil MyApp.app/MyApp -o
MyApp.app.dSYM
Поместите файл .dSYM на локальный диск Mac и запустите Instruments, как обычно.
Сброс индексации прожектора:
Если символы не отображаются, это может быть вызвано тем, что прожектор прослушивается. Вы можете попробовать сбросить индексирование прожектора, добавив папку, содержащую файл dSYM (или даже ваш диск), в «Запретить прожекторам поиск этих мест» в настройках прожектора и затем сразу же удалите ее.