Как отладить dylib с помощью Xcode? - PullRequest
6 голосов
/ 18 января 2011

У меня есть проект Xcode для библиотеки arith.Я мог бы построить его с конфигурацией отладки, и мне нужно отладить его.Как я могу это сделать?

Идеальным методом было бы установить тестовый код для построения выполнения в файле проекта, а затем установить точку останова в исходном коде в библиотеке arith.

Однако кажется, что проект Xcode Arith не позволяет добавить еще один проект use_arith, который использует библиотеку Arith.

Какой метод используют люди для отладки динамической библиотеки в XCode?

ДОБАВЛЕНО

Я погуглил и нашел несколько способов отладки dll.Присоединение к запущенному процессу может быть одним из способов отладки динамической библиотеки.А для программирования iPhone / iPad динамическая библиотека не разрешена, поэтому используется статическая библиотека.

  1. Присоединение к запущенному процессу - http://gcc.gnu.org/onlinedocs/gnat_ugn_unw/Attaching-to-a-Running-Process.html

  2. Отладка библиотеки с помощью Xcode - Отладка библиотеки с помощью Xcode

  3. Простое модульное совместное использование кода в приложениях iPhone: статические библиотеки и межпроектные ссылки - http://www.clintharris.net/2009/iphone-app-shared-libraries/

Ответы [ 2 ]

5 голосов
/ 18 января 2011

Я мог бы найти способ отладки динамической библиотеки в Xcode.

Сложение

  1. Сделай библиотеку, я назову эту арифметическую библиотеку. Отладка сборки для создания libarith.dylib.
  2. Сделайте проект для использования библиотеки, я назову это usearith.
  3. Для userarith, Project-> Add To Project и добавьте библиотеку arith.
  4. Откройте «Сведения о проекте» и откройте вкладку «Сборка».
  5. Перейдите в раздел «Пути поиска» / «Пути поиска в библиотеке», перетащите арифметику. Вы должны удалить имя библиотеки, так как вам нужно только указать путь. Укажите каталог заголовка с помощью «Пути поиска заголовка».
  6. Перейдите к Linking, установите другие флаги Linker, добавьте -larith

Запуск

Теперь вы должны иметь возможность связать исполняемый двоичный файл с библиотекой. Для запуска вам необходимо скопировать динамическую библиотеку в каталог, где находится исполняемый файл.

Debugging

Вам необходимо установить точки останова как арифметика / юзарит. Вы можете запустить отладчик в Arith и использовать этот шаг для отладки кода в проекте Arith.

2 голосов
/ 26 февраля 2016

Я столкнулся с той же проблемой, и ни один из предыдущих ответов не работал для моего случая, поэтому я делюсь своим решением (для Xcode):

Если вам нужно отладить dylib c / c ++, который загружается внешней (исполняемой) программой:

  1. Сначала убедитесь, что ваш dylib собран с той же архитектурой, что и ваша внешняя программа.
  2. Затем перейдите -> Продукт -> Схема—> Редактировать схему
  3. Перейдите на вкладку Run (Debug) и отметьте «Debug Executable», затем выберите в выпадающем меню вашу внешнюю программу как исполняемую. Затем отметьте «Автоматически запускать»
  4. Кроме того, если вашей программе нужен дополнительный аргумент, вы можете добавить его в Вкладка «Аргументы».
  5. Наконец, вы устанавливаете несколько точек останова в вашем исходном файле c и, наконец, нажимаете run.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...