2010-05-11 17 views
6

Motorumdan kodu çözülmüş çerçeveler alıyorum ve Android'de SurfaceView kullanarak oynatıyorum. Ama bu 2-3 saniye boyunca oynar ve sonra benim uygulama "hata ayıklayıcı zombi serbest intihar etme" hatası ile çöküyor.hata ayıklayıcı zombiyi serbest bırakmak için intihar ediyor

Lütfen bana yardım edin.

Android SDK 2.1 kullanıyorum.

+13

En havalı hata iletisi EVER! – hannson

+1

Olası çoğaltılamaz (ve kabul edilmemiş cevap hala geçerlidir): http://stackoverflow.com/questions/2022868/android-application-failing-upon-user-scrolling-no-obvious-error –

+4

zombileri öldür, onları serbest bırak. Çocuklar bugünlerde. – Amy

cevap

6

**** Android hata ayıklama günlüğü iletisi değil bir oyun uyarısı olduğunu düşündüm = | ****

Unix ve Unix benzeri işletim sistemleri, bir zombi süreci veya feshedilmiş süreci üzerinde

Zombi işlemi yürütme tamamlandı ama hala işlem tablosunda bir girişe sahip olan bir süreçtir. Bu giriş hala (şimdi zombi) sürecini başlatan işlemin çıkış durumunu okumasına izin vermek için gereklidir. Zombi süreci terimi, zombi'nin ortak tanımından kaynaklanır - ölmeyen bir kişi. Terimin renkli metaforunda, çocuk süreci öldü, ancak henüz olgunlaşmamıştı. Ayrıca, normal işlemlerden farklı olarak, kill komutunun bir zombi işlemi üzerinde hiçbir etkisi yoktur.

Bir işlem bittiğinde, onunla ilişkili tüm bellek ve kaynaklar ayrılır, böylece diğer işlemler tarafından kullanılabilir. Ancak sürecin işlem tablosuna girişi devam ediyor. Ebeveyn, beklemedeki sistem çağrısını yürüterek çocuğun çıkış durumunu okuyabilir ve bu aşamada zombi kaldırılır. Bekleme çağrısı sıralı kodda yürütülebilir, ancak genellikle bir çocuğun öldüğü zaman ebeveynin aldığı SIGCHLD sinyali için bir işleyicide yürütülür.

Zombi kaldırıldıktan sonra işlem kimliği ve işlem tablosundaki giriş daha sonra yeniden kullanılabilir. Ancak, bir ebeveyn beklemede başarısız olursa, zombi işlem tablosunda bırakılır. Bazı durumlarda bu arzu edilebilir, örneğin ebeveyn başka bir çocuk süreci oluşturuyorsa, aynı süreç kimliğine tahsis edilmemesini sağlar. Modern UNIX benzeri sistemlerde (bu bağlamda SUSv3 şartnamesine uyan), aşağıdaki özel durum geçerlidir: eğer ebeveyn, işleyicisini SIG_IGN'e (varsayılan olarak sinyali varsayılan olarak görmezden gelmek yerine) ayarlayarak veya SA_NOCLDWAIT bayrağına sahip olarak SIGCHLD'yi açıkça yoksayarsa set, tüm çocuk çıkış durum bilgileri atılacak ve hiçbir zombi işlemi kalmayacak.

Bir zombi işlemi bir yetim işlemi ile aynı şey değildir. Bir yetim süreci hala yürütmekte olan ancak ebeveynleri ölmüş bir süreçtir. Zombi süreçlerine dönüşmezler; bunun yerine, çocukları üzerinde bekleyen init (process ID 1) tarafından benimsenir.

WIKI'den!

=)

İlgili konular