2012-03-15 154 views
71

我遇到了一個問題,我正在進行故障診斷,這種情況很少發生,而且當我在Xcode下運行時似乎不會發生。啓動後將調試器附加到IOS應用程序

是否可以正常運行應用程序(即從Springboard)直到發生問題,然後在該點附加調試器?

如果可能的話,我寧願在不越獄的情況下這樣做。

回答

95

將設備連接到Mac,在Xcode中選擇產品 - >附加到進程 - >按進程標識符(PID)或名稱...。在對話框中,輸入應用程序的名稱,因爲它在通過Xcode啓動時顯示在調試導航器中。

如果應用程序已經運行,調試器將附加到正在運行的進程。如果它沒有運行,它將等待應用程序啓動,然後附加。

+0

奧萊加工,感謝您的回答。我正在尋找一種方法來做到這一點。警告:無法讀取/ var/mobile/Applications/{GUID}/{APPNAME} .app/{APPNAME}的符號(文件不是找到)。當我按XCode中的「停止」按鈕時,應用程序終止。看起來它沒有找到調試符號,儘管它是以調試模式構建的。有任何想法嗎? – Brian 2012-12-15 16:52:52

+2

我有一個問題**如果它沒有運行,它將等待應用程序啓動,然後附加。**部分。它不起作用。我使用進程名稱等待應用程序調用。我在iPhone上啓動應用程序,但調試器從未意識到應用程序已啓動。 – Jonny 2013-02-07 07:59:57

+1

@BrianV - 如果你想能夠附加到進程,你需要確保你正在用-ggdb進行編譯。 – itfische 2013-05-17 18:57:11

47

在Xcode中5.0.1和6是在

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

也在Xcode 6中。 – Kevin 2014-10-30 17:27:20

83

在這裏我要離開這個因爲無論是其他2個答案給了我相當足夠的細節,沒有鬥爭的一點點。

  1. 運行在模擬器上你的應用程序並記下名字的調試導航 enter image description here

  2. 插入您的設備,不要忘記選擇您的設備作爲目標 enter image description here

  3. 調試>附加到進程>按進程標識符(PID)或名稱 enter image description here
  4. 輸入步驟1中的名稱並進行附加。這應該是你所需要做的。 enter image description here
+2

你應該有1000個upvotes。如果沒有這個巧妙的技巧,調試通過cutom url方案開始的事情可能會讓屁股感到痛苦。非常感謝! – txulu 2015-02-11 16:28:57

+0

我希望看到這個答案之前,我花了20分鐘瞭解我自己:( – 2015-04-01 00:48:04

+4

這工作,它附加到過程,但我不能看到任何日誌輸出,這是我真的需要。 ?思路 – Orlando 2015-08-08 20:39:27

5

在Xcode 7這只是: 調試>附加的PID或名稱

相關問題