2013-09-25 25 views
11

Ben android için valgrind kurdum ve onunla ls çalıştı denedim gibi çalıştığını onaylayabilirim, ve iyi çalışıyor.Bir Android uygulamasıyla valgrind'i nasıl çalıştırırım?

Ama nasıl bir hata ayıklamak istiyorum yerel bir bileşenle bir android uygulaması yürütürüm? Bu soruya baktım: How to start an android app with valgrind ama nasıl takip edeceğimi bilmiyorum. Bir uygulamayı bir komut dosyasına nasıl eklersiniz? "Sarma" nedir? paket adıyla takip edilmek isteniyordu?

setprop wrap.com.matthewmitchell.wakeifyplus "logwrapper /data/local/valgrind" 

ama "özelliğini ayarlayın olamazdı" diyor:

Ben com.matthewmitchell.wakeifyplus benim uygulama paketi olmak bunu denedik. Ne yapmam gerekiyor? Çalışılan adım kılavuz adımı bulamıyorum.

#!/system/bin/sh 
VGPARAMS='--error-limit=no' 
export TMPDIR=/data/data/com.matthewmitchell.wakeifyplus 
exec /data/local/Inst/bin/valgrind $VGPARAMS $* 

Ama ben:/veri/yerel/valgrind olduğunu yürütmek izinleri olan bir kabuk olma ile

setprop com.matthewmitchell.wakeifyplus "logwrapper /data/local/valgrind" 

: I (ben bile SetProp ne yaptığını bilmiyorum) bu denedin mi Uygulamayı çalıştırmak için , temizledikten sonra bile Değer, logcat'te görünmüyor.

cevap

7

Sen hatayı sensin 31 daha büyük bir uzunluğa sahip bir özellik adını ayarlamak CAN NOT çünkü "özelliğini set olamazdı" olsun mülkiyet adına numara izin verilen maksimum karakter: https://stackoverflow.com/a/5068818/313113

deneyin adb kabuk setprop ile özelliği ayarladığınızda, paket adı uzunluğunu 31 karakterden küçük veya eşit olacak şekilde küçültmek.
Ve basit şeyler için bir bash komut dosyası kullanın.
Daha fazla detay için buradaki cevabıma bakın: https://stackoverflow.com/a/19235439/313113

+0

Çok teşekkür ederim. Şimdi buna bakacağım ... –

+0

Çalıştı! Çok yavaş ama işe yarıyor. –

+0

ve bize ait olmayan bir uygulamada çalıştırmak istediğimiz durumlarda ne oluyor? her neyse, 31 chars sınırlaması – Paschalis