Поскольку мои программы содержат все больше и больше кода, я начинаю немного расстраиваться из-за сообщений об ошибках, которые выдают в консоли:
2009-11-14 14: 31: 57.513 FC [915: 5b27] *** - [SearchResultParser responsedsToSelector:]: сообщение отправлено освобожденному экземпляру 0x82d28e0
Этот не самый плохой, так как он на самом деле говорит мне, что он связан с селектором и что он происходит в SearchResultParser. Но часто я просто получаю «сообщение, отправленное на освобожденный экземпляр 0x897867d6».
В других случаях это дамп стека, где он просто говорит мне, что я думаю, о выделении памяти для объектов, находящихся в данный момент в стеке.
Возможно, я избалован, но я привык получать гораздо больше информации из сообщений об ошибках, особенно из динамических языков: например, номер строки, в которой произошла ошибка, имена экземпляров рассматриваемых объектов и так далее.
Я читал об использовании Инструментов, и, конечно, есть точки останова. Он может просто чувствовать себя немного бессмысленным, вручную проходя 20+ освобождений и 300 строк кода, чтобы выяснить, что вызвало остановку, когда ответ прямо перед вами: «0x82d28e0 вызвал сбой»!
Я плохо напоминаю мне сообщения об ошибках, которые я получил от IDE моего микроконтроллера:)
Есть ли способ перейти с адреса экземпляра, например, 0x82d28e0 к имени экземпляра?
Есть ли способ использовать информацию из консоли, чтобы сузить, где в коде происходит остановка? Особенно "сообщение, отправленное на освобожденный экземпляр", так как я, очевидно, немного заинтересован в управлении своей памятью:)
Надеюсь, кто-нибудь поможет мне лучше понять консоль :)
Спасибо.