Как найти экземпляр hex в консоли XCode?

Когда я запускаю консоль после сбоя моего iPhone-приложения, он часто говорит "непризнанный селектор, отправленный экземпляру 0x" бла-бла-бла ". Как узнать, что это за переменная? Есть ли способ в отладчике? Возможно ли это? Спасибо.

Ответы

Ответ 1

В gdb вы можете ввести

po 0x12345678

чтобы напечатать -description объекта по этому адресу. Но эта информация редко бывает полезной. Вместо этого вы должны сначала проверить обратную трассировку исключения, которая может найти строку кода, которая вызывает проблему.

Ответ 2

Очень полезно создать контрольную точку исключения и с Xcode 7.3, это никогда не было проще. Это поможет вам найти строку кода, вызывающую исключение.

введите описание изображения здесь

  • добавить точку останова в строке, где приложение аварийно завершает работу
  • щелкните точку останова в меню Навигатора проектов
  • найдите только что созданную точку останова и выберите ее
  • нажмите "+" в левом нижнем углу.
  • Выберите "Добавить точку останова исключений"

Запустите свой код... всякий раз, когда вы получаете "нераспознанный селектор, отправленный в экземпляр 0x blah blah blah", отладчик остановится на строке, которая вызывает проблему.