2012-02-16 64 views
2

我用Xcode 4.2,我得到90%的時間該消息的程序:SIGABRT和SIGTERM線程所有

@autoreleasepool 
{ 
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 
} 

Thread 1: Program received signal "SIGABRT"

當它工作並退出iOS Simulator我得到:

Thread!: program received signal SIGTERM

現在所有的程序(即使簡單的教程與單個聲音按鈕),當我退出Simulator時工作完美,我得到SIGTERM,當我試圖再次運行我得到SIGABRT。 我越來越paranoidddddddddd。

Error: unknown error code. This generally means that another instance of this process was already running or is hung in the debugger.sharedlibrary apply-load-rules all Current language: auto; currently objective-c (gdb)

我該怎麼辦?

+0

我會先嚐試重新啓動您的Mac。有時模擬器可能會「卡住」。剛注意到AtkinsonCM的回答,這可能會起作用,但重新啓動幾乎總是有效。 – 2012-02-16 21:33:31

+0

你最近更新了你的模擬器嗎? – pinkeerach 2012-02-16 21:43:47

+0

我還沒有更新模擬器,我在12月中旬安裝了Xcode。我在模擬器中重置了內容砂設置,並且多次重啓。 – George 2012-02-16 23:14:40

回答

6

有些事情你去嘗試,在過去幫助我(按照這個順序):

  1. 產品>清潔
  2. 卸載/手動從您的設備中刪除您的應用程序。
  3. 在iOS模擬器中,iOS模擬器>「重置內容和設置」。
  4. 刪除導出問題項目的「派生數據」中的所有內容。 (屏幕截圖)在管理器>項目中。
  5. 退出xCode。
  6. 重新啓動您的機器。

enter image description here

我注意到,導出的數據將導致最多的問題,當你做多個項目具有相同的名稱,羯羊它是有目的的,或意外。

編輯:更多詳細..

我曾經得到SIGTERM的唯一情況是,當你運行一個「設備」上一個測試,然後從設備中退出應用程序,你打停在Xcode之前,則嘗試在設備上重新啓動它。如果它更像是一個SIGABRT問題,我總是檢查我的IBOutlets。每次刪除插座代碼時都會發生SIGABRT,但不要刪除IB中的連接。 [xcode 4.2.1]

+0

是啊,我有3個項目具有相似名稱(不相同),但具有完全相同的動作,圖像和聲音。我應該刪除其他2個項目嗎? – George 2012-02-17 00:24:34

+0

如果他們有不同的名字,你應該沒問題。你能爲我澄清一些事情嗎?無論您打開哪個項目或某個特定項目,都會發生這種情況? – jhilgert00 2012-02-17 00:27:28

+0

我不得不改寫我以前的評論。 – jhilgert00 2012-02-17 00:30:14

1

上一個應用程序仍然卡在模擬器中。嘗試徹底退出模擬器,清理您的項目,然後嘗試再次構建。

編輯:完全重新啓動你的mac聽起來像下一步。在我的經驗中,這個錯誤一直與模擬器的問題有關,而不是代碼本身。

+0

我做了很多次...... – George 2012-02-16 21:35:41

0

SIGABRT意味着您的程序正在拋出異常。如果在拋出異常時沒有明確設置要觸發的斷點,則Xcode將向您顯示main中的SIGABRT,這對調試無用。

您需要add an exception breakpoint以便您可以看到引發異常的位置。

+0

嗯,我得到了:0_pthread_kill:0x9bf079c6 <+0010>宰0x9bf079d6 <__ pthread_kill + 26> 5 UIApplicationMain:0x0030f855 <+0593> MOV 0x6165fa(%ESI),%eax中 – George 2012-02-16 23:10:48