Приложение для iPhone, работающее в симуляторе, не выйдет из строя (или будет убито) - PullRequest
1 голос
/ 07 июня 2009

В симуляторе запущено приложение для iPhone, которое не может выйти. Я также не могу убить его, не используя Activity Monitor, ни kill, ни kill -9, ни killall.

cyrus:~ ajbrehm$ ps auxc|grep Vocky
ajbrehm  76450   0.0  0.1   153116   5212   ??  UE   12:59pm   0:00.05 Vocky
ajbrehm  76437   0.0  0.1   153116   5212   ??  UE   12:58pm   0:00.05 Vocky
ajbrehm  76350   0.0  0.1   153116   5212   ??  UE   12:57pm   0:00.05 Vocky
ajbrehm  76336   0.0  0.1   153116   5212   ??  UE   12:56pm   0:00.05 Vocky
ajbrehm  76329   0.0  0.1   153116   5212   ??  UE   12:56pm   0:00.05 Vocky
ajbrehm  76276   0.0  0.1   153116   5212   ??  UE   12:56pm   0:00.05 Vocky
ajbrehm  76245   0.0  0.1   153116   5212   ??  UE   12:55pm   0:00.05 Vocky
ajbrehm  76176   0.0  0.1   153116   5212   ??  UE   12:55pm   0:00.05 Vocky
ajbrehm  76159   0.0  0.1   153116   5212   ??  UE   12:54pm   0:00.05 Vocky
ajbrehm  76150   0.0  0.1   155136   9264   ??  UE   12:54pm   0:00.10 Vocky

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

Программа использует один из обычных шаблонов Xcode для приложений iPhone и в остальном работает нормально на симуляторе и физическом iPhone. Мне также кажется, что это поведение является новым. Но код не изменился, изменились только файлы данных, содержащие текст.

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 08 июня 2009

Хорошо, я понял это.

Через некоторое время VMware также начал странно себя вести и оставил зомби vmware в Activity Monitor. Один из экземпляров VMware затем заблокировал графический интерфейс. (Он также по какой-то причине продолжал изменять скорость отслеживания указателя мыши. Я понятия не имею, почему VMware разрешено изменять системные настройки и блокировать графический интерфейс.)

В конечном итоге мне пришлось отключить графический интерфейс (я убил loginwindow и windowserver) и решить проблему.

Несколько дней назад я попытался отключить поиск Spotlight, поскольку он начал индексировать 600 ГБ входящих данных во время процесса копирования (из-за этого с диска Firewire 800 ушло почти 6 часов). По какой-то причине единственный способ остановить перезапуск Spotlight во время этого процесса копирования - переименовать ReportCrash во что-то другое («ReportCrash2»), чтобы его нельзя было найти. Это имело смысл в то время.

Проблема была в том, что я забыл, что сделал это.

После того, как ReportCrash снова стал использоваться, каждый из зомби сообщил о своем сбое и ушел, и программа iPhone, и множество экземпляров интерфейса VMware. Это заняло около 5 минут. (В процессе я узнал, что 24-дюймовый Apple Cinema Display - это ОТЛИЧНЫЙ монитор для текстового интерфейса! Наконец я мог видеть каждую строку без разрывов строк.)

После того, как это было сделано, я перезапустил windowserver и loginwindow и мог снова войти в GUI. Мои виртуальные машины VMware также выжили (поскольку я не перезагружался), и VMware снова заработала, и я смог подключиться ко всем виртуальным машинам Windows, и процессы зомби прекратились.

Оказалось, что это была десятиминутная проблема, когда стало ясно, что это не имеет никакого отношения к Xcode или gdb.

Я ненавижу ReportCrash.

1 голос
/ 07 июня 2009

Сначала остановите GDB (отладчик).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...