Как отладить dylib с помощью Xcode?

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

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

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

какой метод люди используют для отладки a динамической библиотеки в 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 ответов


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

построить

  1. сделать библиотеку, я буду называть эту библиотеку arith. Отладка сборки для создания libarith.dylib нужна.
  2. сделайте проект для использования библиотеки, я назову это usearith.
  3. для userarith, Project - >добавить в проект и добавить библиотеку arith.
  4. откройте сведения о проекте и откройте вкладку сборка.
  5. перейти к пути поиска / пути поиска библиотеки, перетащите arith библиотека. Вы должны удалить имя библиотеки, так как вам нужно только указать путь. Укажите каталог заголовков с помощью 'Header Search Paths'.
  6. перейти к ссылке, установить другие флаги компоновщика, добавить-larith

под управлением

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

отладка

вам нужно установить точки останова arith/usearith. Вы можете запустить отладчик в arith и использовать шаг into для отладки кода в проекте arith.


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

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

  1. сначала убедитесь, что ваш dylib построен с той же архитектурой, что и ваша внешняя программа.
  2. затем перейдите в -- > продукт - > схема - >редактировать схему
  3. Got to Tab Run (Debug) and check " Debug исполняемый файл" , затем выберите в раскрывающемся списке вашу внешнюю программу в качестве исполняемого файла. Затем установите флажок "запуск автоматически"
  4. кроме того, если вам нужен дополнительный аргумент, вы можете добавить его в Вкладка" аргументы".
  5. наконец, вы установили некоторые точки останова в исходный файл c и, наконец, нажмите кнопку Выполнить.