2011-01-25 17 views
5

Benim android uygulamasının hata ayıklama olup olmadığını kontrol etmenin bir yoluna ihtiyacım var (özellikle hata ayıklayıcısının çalışıp çalışmadığını kontrol etmek istediğim başlangıçta kontrol ettiğimiz bir durum var). Böyle bir canavar var mı?Android'in altındaki hata ayıklayıcıda olup olmadığımı nasıl anlarım?

+0

Bunu buldum - android.os.Debug'un bunun için kullanabileceğim yöntemler var. –

cevap

19

isDebuggerConnected'a bakmanız gerekir.

Ancak, uygulamanızın davranışının hata ayıklayıcısına bağlı olup olmadığına bağlı olmasını sağlamak çok kötü bir uygulama olarak kabul edilir. Bu, hataları yakalamak için biraz zorlaşabilir. Yani dikkatli ol.

+0

Bu özellikle kötü bir şekilde uygulamada bazı temizleme işlemlerini gerçekleştirdi (ör. Ad-9'da bir kill -9) - hata ayıklayıcısını başlattığınızda uygulama kötü bir şekilde ölüyor (bu uygulama eski koşusunu öldürüyor ve yeni bir tane başlatıyor) hata ayıklama için) Kötü çıkış bildirimini engellemeyi istedim, çünkü geliştiricilerin hata ayıklamaya çalıştıklarını düşünürdüm. –

+0

Küçük uygulama davranışı, hata ayıklayıcısında farklı olabilir, benim durumumda, hata ayıkladığım zaman http çağrılarının "oldukça biçimlendirilmiş" xml kaynaklarını istemesi ve aksi halde yoğunlaştırılması. –

1

Bu durumu yakalamak için android.os.Debug isDebuggerConnected ve waitingForDebugger yöntemlerini kullanabilirim.

+0

-1, inazaruk'un cevabı – rds

+0

+ 1 olduğu için, ayrıca hata ayıklayıcısını bağlamadan önce kodunuzun çalıştırılması için bir 'waitingForDebugger' yönteminin de yararlı ipucu vardır. Tüm bunlar, zaman aşımlarını tanımlamak için eşzamanlı bir iş parçasında test senaryolarını ayıklarken çok kullanışlıdır. – zsawyer

İlgili konular