2010-05-11 101 views
6

我從我的引擎獲取解碼幀,並使用android中的SurfaceView播放它。 但它播放2-3秒,然後我的應用程序崩潰的錯誤「調試器自殺釋放殭屍」。調試器自殺以釋放殭屍

請幫幫我。

我正在使用Android SDK 2.1。

+13

這就像最酷的錯誤消息永遠! – hannson 2010-05-11 11:11:30

+1

可能重複(如果不是,接受的答案仍然適用):http://stackoverflow.com/questions/2022868/android-application-failing-upon-user-scrolling-no-obvious-error – 2010-05-11 12:57:51

+4

你應該殺死殭屍,而不是讓他們自由。孩子們這些天。 – Amy 2010-05-11 15:15:44

回答

6

****我以爲這是一個遊戲提醒,不是Android調試日誌消息= | ****

殭屍過程

在Unix和類Unix的計算機操作系統,殭屍進程或解散的方法是,已經完成執行,但仍然有在過程表中的條目的方法。該條目仍然需要允許啓動(現在是殭屍)進程的進程讀取其退出狀態。術語殭屍進程來源於殭屍的一個普通定義 - 一個不死生物的人。在這個詞的豐富多彩的比喻中,兒童進程已經死亡,但還沒有被收穫。另外,與普通進程不同,kill命令對殭屍進程沒有影響。

當一個進程結束時,與其關聯的所有內存和資源都會被釋放,以便其他進程可以使用它們。但是,進程表中的進程仍然存在。父母可以通過執行等待系統調用來讀取孩子的退出狀態,在此階段殭屍被移除。等待調用可以按順序執行,但通常在SIGCHLD信號的處理程序中執行,只要孩子已經死亡,父母就會收到這個信號。

殭屍被移除後,它的進程ID和進程表中的條目可以被重用。但是,如果父母未能調用等待,殭屍將留在進程表中。在某些情況下,這可能是可取的,例如,如果父級創建另一個子級進程,則確保它不會被分配相同的進程ID。在現代類UNIX系統(符合這方面的SUSv3規範)時,適用以下特殊情況:如果父項通過將其處理程序設置爲SIG_IGN(而不是簡單地忽略信號)或者具有SA_NOCLDWAIT標誌來明確忽略SIGCHLD設置,所有的孩子退出狀態信息將被丟棄,並且沒有殭屍進程將被留下。

殭屍進程與孤立進程不同。孤兒進程是一個仍在執行的進程,但其父進程已經死亡。他們不會成爲殭屍進程;相反,它們被init(進程ID 1)採納,該進程等待其子進程。

來自WIKI! =)