Как установить точки останова в инфраструктуре Objc, которая используется приложением Blackbox Mac? - PullRequest
0 голосов
/ 05 июня 2019

Я хочу установить точки останова в Objc framework, скомпилированном из моего проекта Xcode, и позволить ему сломать приложение Mac, которое зависит от создаваемой мной платформы.

Например, Application«Blackbox» будет использовать Framework «A», и у меня есть доступ только к исходному коду «A».

Таким образом, я не могу установить точки останова в проектах фреймворка и просто изменить их на User, что будетбыть доступным для всех проектов Xcode.Или просто объедините эти два проекта, так как я должен получить доступ к «Blackbox».

Как можно сломать приложение, чтобы перейти к точкам останова, которые я установил в моей структуре?

1 Ответ

1 голос
/ 05 июня 2019

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

Точки остановауправляется отладчиком;они не скомпилированы в вашу структуру.Что вам нужно сделать, это сначала настроить свой Mac, чтобы вы могли подключить отладчик lldb к приложению, над которым вы пытаетесь работать.Для этого вам, вероятно, потребуется сначала отключить защиту целостности системы , чтобы операционная система не препятствовала отладке приложения.Затем вам понадобится копия файла символов (он будет заканчиваться .dsym), который вы создали при сборке фреймворка, и вам нужно будет загрузить его в отладчик .Сообщение в блоге Присоединение источников к двоичным файлам iOS / macOS, скомпилированным на другом компьютере может помочь вам выполнить эти шаги.

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

...