2011-08-29 13 views
7

Po ustawieniu breakpint w moim projekcie i kliknięciu pola wyboru "kontynuuj po ocenie wszystkich działań", Xcode nie kontynuuje. Mało tego, wykonanie często wydaje się wisieć. Jest to prawdą niezależnie od tego, czy faktycznie mam jakieś akcje na punkcie przerwania.Xcode zatrzymuje się w punktach automatycznego kontynuowania

Moje punkty przerwań nieautomatyczne działają prawidłowo.

Próbowałem zupełnie nowego projektu i problem nadal występował. Musi więc być powiązane z ustawieniem w moim komputerze lub Xcode. Używam Snow Leopard i Xcode 4.0.2.

Co może być ważne?

EDYCJA: logi kodu i konsoli. Kod

:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 
    [self.window makeKeyAndVisible]; 
    int x = 5; 
    printf("%d", x); // breakpoint here with autocontinue checked and no action 
    x+=2; 
    printf("%d", x); 
    return YES; 
} 

dziennika konsoli:

This GDB was configured as "x86_64-apple-darwin".sharedlibrary apply-load-rules all 
Attaching to process 87901. 
Pending breakpoint 1 - ""AutocontinueTestAppDelegate.m":21" resolved 
Current language: auto; currently objective-c 
57 

To ciekawe, że chociaż optymalizacja została ustawiona na none, oba twierdzenia printf zwolniony.

+0

Twój tytuł i opis wydają się być w sprzeczności. Czy problem polega na tym, że "Xcode [zatrzymuje się] przy automatycznych punktach przerwania" lub że "Xcode się nie zatrzymuje"? Jeśli to ta pierwsza, mam dokładnie ten sam problem i mam nadzieję, że otrzymasz dobrą odpowiedź! – clozach

+0

Czy to występuje w Xcode 4.1? –

+0

Tak naprawdę myślę, że @deanWombourne może mieć rację: prawdopodobnie błąd. Oto test, który właśnie zrobiłem: 1) ustaw punkt przerwania gdzieś w akcji przycisku 2) edytuj i ustaw, aby odtworzyć dźwięk + automatyczne kontynuowanie 3) uruchom aplikację: aplikacja zatrzymuje się, gdy pukam przycisk w symulatorze. 4) przeciągnij punkt przerwania w dół linii: aplikacja kontynuuje, symulator przychodzi na pierwszy plan, a kolejne krany odtwarzają dźwięk bez wstrzymywania. – clozach

Odpowiedz

1

Z tego, co opisujesz, wygląda na to, że może to być błąd w Xcode - zgłoś to here.

(Niestety moja odpowiedź nie jest bardziej pomocna)

1

Czy możesz wkleić dziennik konsoli. Sprawdź, czy "Warunek" i "Działanie" są prawidłowe i bezbłędne. Właśnie to przetestowałem, wykonując akcję resetAllAppData == NO, ale punkt przerwania nie wstrzymał wykonania, ponieważ "Akcja" musi mieć wartość "resetAllAppData == false".

To dziennik konsoli innego testu:

Attaching to process 23361. 
warning: Error parsing breakpoint condition expression 
Pending breakpoint 1 - ""iPhoneAppDelegate.m":50" resolved 

mam ten błąd, bo ustawienie „działanie” z przerwania być „Debugger Command” po resetAllAppData a od resetAllAppData nie jest obiektem typedef signed char BOOL; nie może wykonać akcji, a następnie nie zatrzymuje się w punkcie przerwania.

2

Jeśli korzystasz z aplikacji na urządzeniu, właśnie dostałem to dla Ciebie: Obecnie automatyczne kontynuowanie przerw działa tylko na symulatorze, nie na urządzeniach.

Źródło: inżynier Apple.

0

To też mi się przydarzyło. Zauważyłem, że w danym punkcie przerwania zatrzymywałoby się tylko sporadycznie. Punkt przerwania rejestrował BOOL na konsoli przy użyciu po. Sprawdzając to zauważyłem, że zatrzymałoby się, gdy tylko BOOL był 1, który zatrzymałby się i dołączał do dziennika [no Objective-C description available]. Zmiana na coś, co uniemożliwiło brak "opisu" dostępnego "opisu", skutkowało automatyczną kontynuacją.

Więc teraz używam coś takiego:

po (NSString *)[NSString stringWithFormat:@"%d", isCenterActive] 

Nie może być lepiej i krócej rozwiązanie, choć.

Powiązane problemy