Предложение для установки обработчика сигналов является хорошим, и я использую его много. Например, bzr значением по умолчанию устанавливает обработчик SIGQUIT, который вызывает pdb.set_trace()
для непосредственного бросания Вас в подсказка pdb. (См. источник bzrlib.breakin модуля для точных деталей.) С pdb можно не только получить текущее отслеживание стека, но также и осмотреть переменные, и т.д.
Однако иногда я должен отладить процесс, в котором у меня не было предвидения для установки обработчика сигналов. На Linux можно присоединить gdb к процессу и получить отслеживание стека Python с некоторыми gdb макросами. Помещенный http://svn.python.org/projects/python/trunk/Misc/gdbinit в ~/.gdbinit
, тогда:
gdb -p
PID
pystack
Это не полностью надежно, к сожалению, но это работает большую часть времени.
Наконец, присоединяя strace
может часто давать Вам хорошую идею, что делает процесс.
textView.editable=NO;
это свойство UITextview, проверьте документацию
ура
- (BOOL) textViewShouldBeginEditing: (UITextView *) textView { вернуть НЕТ; }
попытайтесь реализовать этот метод делегата UITextView.
В IB, рядом с полем "Цвет текста", снимите флажок 'Editable'.