Otworzyłem raport o błędzie w Apple: https://bugreport.apple.com/cgi-bin/WebObjects/RadarWeb.woa/19/wo/WBbbbyopNFW8FFUuNSbk0w/10.66
Daj mi znać, jeśli nie możesz uzyskać do niego dostępu.
Podsumowanie: debugger XCode nie zwalnia portu serwera ładowania początkowego
Kroki do odtworzenia:
Podczas debugowania aplikacji na iPhone'a iOS5 w symulatorze w Xcode 4.2 Build 4D5163b na Lion 10.7.2, awaria może czasami skutkować niemożnością uruchomienia buggera. Zamiast tego Xcode generuje ten błąd:
Nie można zarejestrować com.MyApp.MyApp na serwerze startowym. Błąd: nieznany kod błędu. Zwykle oznacza to, że inna instancja tego procesu była już uruchomiona lub zawiesiła się w debugerze. Program odebrał sygnał: „SIGABRT”.
Oczekiwane wyniki:
Powinno być możliwe uruchomienie debugera po awarii.
Rzeczywiste wyniki:
nie można uruchomić debugera. Jedynym sposobem, jaki odkryłem, aby ponownie uruchomić symulator, jest ponowne uruchomienie systemu Mac OS.
Regresja:
Uwagi:
Wiele osób ma ten problem:
iPhone - dziwny błąd podczas testowania na symulatorze
Nie można zarejestrować się na serwerze bootstrap
Błąd serwera
startowego w Xcode IPHONE https://discussions.apple.com/message/10416765?messageID=10416765
Zamknięcie XCode i Symulatora (i upewnienie się, że ps -Al | egrep "Xcode | Simulator" nic nie zwraca) nie rozwiązuje problemu.
Uruchomienie „launchtl bslist | grep MyApp” ujawnia, że com.MyApp jest nadal zarejestrowany na serwerze bootstrap:
$ launchctl bslist | grep MyApp
A com.MyApp.MyApp.UIKit.migserver
A com.MyApp.MyApp
Napisałem kod, aby znaleźć port i unieważnić go, ale to też się nie udaje:
NSMachBootstrapServer *bsserver = [NSMachBootstrapServer sharedInstance];
NSMachPort *port = (NSMachPort *)[bsserver portForName:@"com.MyApp.MyApp"];
[port removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:<#(NSString *)#>
NSLog(@"port = %@",port);
NSLog(@"port.isValid=%d",[port isValid]);
[port invalidate];
NSLog(@"port.isValid=%d",[port isValid]);