2012-02-03 23 views
24

के साथ एंड्रॉइड ऐप कैसे शुरू करें मैं पिछले सप्ताह इस प्रश्न का उत्तर खोजने की कोशिश कर रहा हूं।valgrind

मैं वाल्ग्रिंड के साथ एंड्रॉइड ऐप कैसे शुरू करूं? मुझे पता है कि मैं 'am' कमांड के साथ एक ऐप शुरू कर सकता हूं, लेकिन यह ऐप शुरू करता है और बाहर निकलता है।

मैं एक ऐसा ऐप लिख रहा हूं जो देशी सी कोड के लिए एनडीके का उपयोग करता है, और मुझे इसे संदिग्ध स्मृति त्रुटियों के लिए जांचना होगा।

संपादित करें:

मैंने थोड़ा और सीखा है। आप एक ऐप को एक स्क्रिप्ट स्क्रिप्ट के साथ "लपेट" सकते हैं।

यहाँ खोल स्क्रिप्ट मैं उपयोग कर रहा हूँ है:

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

और यहाँ setprop है:

adb shell setprop wrap.com.starlon.froyvisuals "logwrapper valgrind" 

और यहाँ कैसे मैं अनुप्रयोग प्रारंभ करें:

adb shell am start -n com.starlon.froyvisuals/.FroyVisuals 

मुझे नहीं पता लगता है कि यह सही है, क्योंकि मुझे यकीन नहीं है कि शेल स्क्रिप्ट कहाँ फिट बैठती है और मैं लॉगकैट में कुछ भी नहीं देख रहा हूं। कोई संकेत?

संपादित 2: ओह खोल स्क्रिप्ट ऊपर "setprop" कमांड के साथ इंगित किया गया है। तो

adb shell setprop wrap.com.starlon.froyvisuals "logwrapper /data/local/val.sh" 

मैं अभी भी लॉगकैट में कुछ भी नहीं देख रहा हूं।

+1

कैसे वेलग्रिंड के माध्यम से अपने अनुप्रयोग चलाने के लिए से मेरी स्क्रिप्ट देखें:। http://stackoverflow.com/a/19235439/313113 – bitek

उत्तर

6

आप logcat पहले

prompt# adb logcat -c 
prompt# adb logcat 

आप लॉग में आ रहा है एक बार आप अपने आवेदन शुरू हो रहा है देखने के लिए सक्षम होना चाहिए स्पष्ट करने के लिए कोशिश कर सकते हैं।

am start -a android.intent.action.MAIN -n com.example.hellojni/.HelloJni 

मुझे अपनी खोल स्क्रिप्ट के साथ समस्याएं थीं और मैंने इसके बजाय इसका उपयोग किया।

adb shell setprop wrap.com.example.hellojni "logwrapper /data/local/Inst/bin/valgrind" 

आप सही valgrind

-1

हाँ के बाद पैरामीटर में पारित करने में सक्षम होना चाहिए, लेकिन आप

adb शेल setprop wrap.com.example.hellojni "logwrapper का उपयोग करना चाहिए ./ डेटा/स्थानीय/इंस्टेंट/बिन/वालग्रींड "
/\ ---- खोल (।) के लिए महत्वपूर्ण है !!! logwrapper ./data/local/Inst/bin

adb शेल setprop wrap.com.example.hellojni ": -

भी आप valgrind उपकरण के कुछ कॉन्फ़िगर उपयोग करना चाहते हैं

इस का उपयोग/valgrind --tool = massif (... massif atc को कॉन्फ़िगर करें ...) "

1

मुझे भी इस समस्या का सामना करना पड़ा। मेरी स्थिति में, मैं "वैल" संपादित करता हूं।sh "विंडोज़ & एडीबी इसे एमुलेटर पर धक्का दे रहा है, लेकिन शेल स्क्रिप्ट को सही ढंग से निष्पादित नहीं किया जा सका। फिर मैं" val.sh "बनाने के लिए" * "> val.sh शैली का उपयोग करता हूं और यह अच्छी तरह से काम करता है।

तो तुम पहले सुनिश्चित करें कि "val.sh" सही ढंग से व्याख्या की जा सकती करना चाहिए

संबंधित मुद्दे