#objective-c #ios #xcode #xcode4
#objective-c #iOS #xcode #xcode4
Вопрос:
Когда мое приложение выходит из строя, вместо того, чтобы видеть, какая строка вызвала сбой, я вижу окно, в котором печатается весь нечитаемый байт-код. Раньше я мог видеть, на какой строке оно произошло сбой, но, должно быть, я что-то изменил. Вот снимок экрана:
Какую настройку я могу изменить, чтобы XCode показывал мне, где произошло сбой моего приложения?
Комментарии:
1. Я пока не нашел ответа, но я потратил кучу времени, прочесывая Интернет, пытаясь разобраться в этом самостоятельно, без какой-либо удачи. У меня уже есть точка останова исключения, но почему я не могу просто посмотреть, в какой строке кода произошло сбой моего приложения?
Ответ №1:
СНИМИТЕфлажок «Показывать разборку при отладке» в меню:
Обратное приведенному выше; если вы хотите показать дизассемблирование для текущего местоположения отладки, вы можете использовать это выпадающее меню:
Комментарии:
1. Именно то, что мне было нужно! Назначу вознаграждение, когда мне будет разрешено. Большое спасибо!
Ответ №2:
Фактический сбой не обязательно может быть в вашем коде. Отладчик укажет вам на машинную инструкцию, которая вызвала сбой. Это может быть в методе cocoa-touch или вызове ОС, который произошел сбой из-за неверного параметра, который вы передали (неверный указатель является распространенным виновником).
Поскольку отладчик не имеет доступа к исходному коду, который на самом деле произошел сбой, он покажет вам дизассемблированный машинный код. Что вам нужно сделать, это следовать стеку вызовов в обратном направлении, пока не дойдете до своего кода. Это должно указать вам на строку кода в вашем приложении, которая (косвенно) вызвала сбой.
Комментарии:
1. 1 для «Это может быть в методе cocoa-touch или вызове ОС, который произошел сбой из-за неверного параметра, который вы передали»