2010-07-09 8 views
6

Zwykle używam śledzenia wstecznego gdb do debugowania aplikacji, ale ostatnio nie mogę tego zrobić podczas testowania na symulatorze iPhone'a. Niebieskie słowo gdb przestaje być wyświetlane na konsoli i nic się nie dzieje po wpisaniu "bt" lub "śledzenia wstecznego". Wciąż mogę jednak poprawnie budować i debugować na urządzeniu.Koniec z gdb w konsoli XCode podczas kompilacji symulatora iPhone'a

Moja wersja XCode to 3.2.3. Czy istnieje sposób ręcznego aktywowania gdb (co ważniejsze jest śledzenie)?

Odpowiedz

0

Jeśli program się zawiesza, tak to brzmi. Możesz nacisnąć przycisk "Wstrzymaj" w konsoli debuggera lub w oknie debuggera, aby przerwać aplikację i sprawdzić, gdzie aktualnie jest wykonywana.

+0

Zwykle, gdy tylko uruchomię aplikację, niebieskie słowo gdb powinno pojawić się na konsoli, a jeśli aplikacja się zawiesza, mogę użyć śledzenia wstecznego. Teraz nie mam tego. Wyczyść, zresetuj symulator, zrestartuj symulator, zrestartuj XCode, zrestartuj komputer Mac ... nie pomóż, może jedynym rozwiązaniem będzie reinstalacja SDK. – iamj4de

+0

A więc czy Xcode wraca do "stanu niedziałającego aplikacji" (np. Przycisk Zadanie na pasku narzędzi jest nieaktywny) lub czy przycisk Zadanie pozostaje włączony na pasku narzędzi? –

+0

Pozostaje włączony. – iamj4de

1

Jak wskazuje Jack, przycisk Pause ręcznie aktywuje gdb & w śledzeniu wstecznym, o co prosiłeś. Być może masz złą instalację - czasami zdarza się, że chcesz ponownie zainstalować/Developer folder &. XCode 3.2.3 i debugger działają dobrze, używam go kilka razy dziennie.

W szczególności CMD-Y jest "zbudować & bieg z debugger", natomiast CMD-R jest po prostu "zbudować & run" (nr debugger, domyślnie), więc upewnij się, że używasz CMD-Y.

Poza: Problem, który napotykam, to, że po zamknięciu aplikacji ikona czerwonego znaku stopu nie rozpoznaje, że aplikacja została zakończona, więc muszę "zatrzymać" ją ponownie. Sądzę, że wynika to z utrzymywania aplikacji na iOS-4 w tle.

0

Sprawdź także i upewnij się, że plik .gdbinit folderu domowego jest w dobrym stanie. Odsuń go, jeśli istnieje i sprawdź, czy problem zniknie.

0

Nie wiem, czy to dokładnie ta sama sytuacja, ale może pomóc. Mój iPhone był w wersji 4.0.2 oprogramowania, ale mój Xcode SDK był dla oprogramowania 4.0.1. Normalnie Xcode skarżyłby się, że będę musiał uaktualnić do nowszego Xcode, który obsługuje 4.0.2, tym razem nie.

Zastanowiło mnie, dlaczego można ustawić punkty przerwania, ale debugger nie zatrzymał się w punkcie przerwania (punkty przerwania były pomarańczowe - sygnalizując, że symbole nie zostały załadowane). Zdecydowałem się zrestartować mój iPhone i teraz Xcode pokazał ostrzeżenie (kiedy jeszcze nie było). Aktualizacja do Xcode dla 4.0.2 naprawiła mój problem. Więc może twój Xcode nie jest aktualizowany dla nowszego oprogramowania?

0

Miał podobny problem, ale nie pamiętał dokładnie okoliczności. Okazało się, że Base SDK (w zakładce budowania informacji o projekcie) został ustawiony na urządzenie, a nie na symulator. Trochę strzału w ciemności, ale prawdopodobnie warto go zweryfikować.

+2

Nie sądzę, że to ważne. Próbowałem przełączyć Base SDK z urządzenia na symulator, ale problem nadal występuje i z mojej pamięci działał dobrze bez względu na wartość Base SDK. – iamj4de

Powiązane problemy