символы отладки потеряны во время компоновки?

Я разрабатываю для iOS с XCode 3.2. Я скомпилировал свой код в режиме отладки с параметром -g в статическую библиотеку. Затем я связал эту библиотеку с большей статической библиотекой, в которой есть main для создания окончательного исполняемого файла. Эта библиотека была построена в режиме выпуска без какой-либо поддержки отладки. Теперь при сбое отладки я не вижу символы своего кода. Куда они делись? Были ли они удалены компоновщиком? Как заставить компоновщик сохранить отладочную информацию для моей библиотеки? У меня нет контроля над другой библиотекой, поэтому я ничего не смогу там сделать.


person 341008    schedule 09.06.2011    source источник
comment
В Xcode есть параметр сборки, который приводит к удалению исполняемых файлов — обычно он включен по умолчанию для выпускных сборок — попробуйте отключить его и перестроить.   -  person Paul R    schedule 09.06.2011
comment
Я связываю две библиотеки вне XCode с помощью сценария сборки, но я указал параметр -nostrip.   -  person 341008    schedule 09.06.2011


Ответы (1)


Если вы можете собрать свою библиотеку, в настройках сборки

  • Используйте один и тот же формат отладочной информации как для библиотеки, так и для вашего кода. смешивание, например, «DWARF с файлом dSYM» с «DWARF» не будет отображать символы
  • Создайте его с любым флагом, связанным с «полосой» в НЕТ (или постобработкой развертывания НЕТ)
person Flavien Volken    schedule 19.11.2012