2012-03-15 25 views
71

Mam problem podczas rozwiązywania problemów, który występuje bardzo rzadko i nie wydaje się, że dzieje się, gdy mam działające pod Xcode.Dołączanie debuggera do aplikacji IOS po uruchomieniu

Czy możliwe jest normalne uruchamianie aplikacji (np. Ze Springboard) do momentu pojawienia się problemu, a następnie podłączenie debugera w tym momencie?

Wolałbym zrobić to bez jailbreakingu, jeśli to możliwe.

Odpowiedz

95

Po podłączeniu urządzenia do komputera Mac wybierz opcję Produkt -> Dołącz do procesu -> Według identyfikatora procesu (PID) lub Nazwa ... w Xcode. W oknie dialogowym wprowadź nazwę aplikacji wyświetlaną w nawigatorze debugowania po uruchomieniu przez Xcode.

Jeśli aplikacja jest już uruchomiona, debuger zostanie dołączony do uruchomionego procesu. Jeśli nie jest uruchomiony, będzie czekać na uruchomienie aplikacji, a następnie dołączenie.

+0

Ole, dzięki za odpowiedź. Szukałem sposobu, aby to zrobić. Kiedy dołączam do debuggera, wygląda na to, że się załącza, ale pojawia się następujący komunikat: ostrzeżenie: nie można odczytać symboli dla/var/mobile/Applications/{GUID}/{APPNAME} .app/{APPNAME} (plik nie uznany). Kiedy naciśniesz przycisk "stop" w XCode, aplikacja się zakończy. Wygląda na to, że nie znajduje symboli debugowania, chociaż jest budowany w trybie debugowania. Jakieś pomysły? – Brian

+2

Mam problem z ** Jeśli nie jest uruchomiony, będzie czekać na uruchomienie aplikacji, a następnie dołączyć. ** część. To nie działa. Używam nazwy procesu, aby czekać na wywołanie aplikacji. Uruchamiam aplikację na iPhonie, ale debugger nigdy nie zdaje sobie sprawy, że aplikacja została uruchomiona. – Jonny

+1

@BrianV - musisz upewnić się, że kompilujesz z opcją -ggdb, jeśli chcesz móc dołączyć do procesu. – itfische

47

W Xcode 5.0.1 i 6 jest w

Debug > Attach to Process > By Process Identifier (PID) or Name... in Xcode 
+1

Również w Xcode 6. – Kevin

83

Zostawię to tutaj ponieważ żaden z pozostałych 2 odpowiedzi dała mi zupełnie wystarczającą szczegół bez trochę walki.

  1. Uruchom aplikację w symulatorze i przyjmują do wiadomości nazwy w nawigatorze Debug enter image description here

  2. podłączyć urządzenie i nie zapomnij, aby wybrać urządzenie jako cel enter image description here

  3. Debug> Dołącz do procesu> Według identyfikator procesu (PID) lub nazwa enter image description here
  4. Wpisz nazwę od kroku 1 i dołączyć. To powinno być wszystko, co musisz zrobić. enter image description here
+2

Powinieneś mieć 1000 przegranych. Debugowanie rzeczy, które zaczynają się od schematu urny, może być bolesne w dupie bez tej schludnej sztuczki. Wielkie dzięki! – txulu

+0

Chciałbym zobaczyć tę odpowiedź, zanim spędziłem 20 minut, wymyślając to na własną rękę :( –

+4

Działa to w tym, że dołącza się do procesu, ale nie widzę, aby uzyskać jakiekolwiek wyjście dziennika, które jest tym, czego naprawdę potrzebuję. pomysły? – Orlando

5

w Xcode 7 to po prostu: Debug> Dołącz do procesu przez PID lub nazwa

Powiązane problemy