Можно ли использовать байтовые смещения, чтобы найти соответствующую строку в исходном коде для моей трассировки стека ios?

Мое приложение связало статическую библиотеку, которая вызвала сбой (так что .dSYM-файл здесь бесполезен). У меня есть исходные коды, можно ли использовать байтовые смещения, чтобы найти соответствующую строку в исходном коде?

Ниже приведен стек сбоев. У меня есть исходный код для функции pjsua_acc_set_registration, так можно найти соответствующую строку для смещения 1535?

Exception Type: SIGABRT Exception Codes: #0 at 0x38d021fc Crashed Thread: 0 Thread 0 Crashed: 0 libsystem_kernel.dylib 0x38d021fc ___pthread_kill + 8 1 libsystem_c.dylib 0x38cb302d _abort + 77 2 libsystem_c.dylib 0x38c92c6b ___assert_rtn + 183 3 my app 0x00181cff pjsua_acc_set_registration + 1535 4 CoreFoundation 0x2e3f53d4 __invoking___ + 68 5 CoreFoundation 0x2e33f6c7 -[NSInvocation invoke] + 287 6 CoreFoundation 0x2e342e83 -[NSInvocation invokeWithTarget:] + 51 7 my app 0x0015f3bb -[UABaseAppDelegateSurrogate forwardInvocation:] (UABaseAppDelegateSurrogate.m:75) ... 

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

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

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

  • Как символизировать журналы сбоев, используя файл .xcarchive?
  • Как прочитать отчет о сбое Xcode?
  • Невозможно символизировать журнал сбоев
  • Изображение программного обеспечения Xcode для iOS пользователя, чтобы символизировать вызовы iOS
  • Как символизировать инфраструктуру системы iOS, такую ​​как UIKit?
  • Отчеты о сбоях iOS: atos не работает должным образом
  • backtrace все еще не читается после того, как он символизирует журнал сбоев iPad
  • Не получать правильную информацию о сбоях, используя Flurry
  • Сбой приложения iOS с SIGTRAP в iPhone 6 плюс?
  • _WebSafeForwarder forwardInvocation crashes
  • Как символизировать журналы сбоев, отправленные от рецензентов Apple?
  • Давайте будем гением компьютера.