2011-01-22 11 views
27

मैं एक्लिप्स में एडीटी (एंड्रॉइड डेवलपमेंट टूल्स) चला रहा हूं और सत्यापित किया है कि मेरा डीबगर MainMenu.oncreate (class Activity) में ब्रेकपॉइंट डालकर काम कर रहा है। लेकिन जब मैंने इसे अपने AsyncTask.doInBackground की पहली पंक्ति में रखा, तो यह कभी भी इसे हिट नहीं करता है। मुझे पता है कि यह चल रहा है क्योंकि मैंने AsyncTask में एक लॉग स्टेटमेंट रखा है और यह लॉगकैट में दिखाई देता है। किसी भी मदद की सराहना की जाएगी क्योंकि मैं लॉगिंग पर डीबगर पसंद करता हूं।एंड्रॉइड के लिए विकास करते समय मैं AsyncTask में ग्रहण डीबगर का उपयोग कैसे करूं?

मेरे संस्करणों: फिर

android.os.Debug.waitForDebugger();

जब आप उस धागे, ग्रहण में एक ब्रेकपाइंट सेट:

Eclipse SDK Version: 3.6.1 
Build id: M20100909-0800 

alt text

+0

क्या आपके पास डीबगिंग = आपके मैनिफेस्ट में सही है? – Falmarri

+0

हां, मैंने एंड्रॉइडManifest.xml में किया था। धन्यवाद –

+0

मुझे अभी पता चला है कि अगर मैंने कुछ 'log.d() 'को' doInBackground() 'में रखा है, तो डीबगर अचानक ब्रेकपॉइंट्स को मारना शुरू कर देता है !! –

उत्तर

69

doInBackground की शुरुआत में निम्न कोड टुकड़ा रखो इसे मिल जाएगा

+0

धन्यवाद, यह चाल है। –

+1

एक नोट के रूप में, जब ** ** ** डिबगिंग नहीं होता है तो मुझे इसे चलाने के लिए इस पंक्ति को टिप्पणी करना पड़ता था। – Suragch

+0

मैं देख सकता हूं कि यह करने में सक्षम होने के लिए यह स्पष्ट रूप से विधि है, लेकिन मैं doInBackground की शुरुआत में इसे डालने के बाद भी ब्रेकपॉइंट्स को हिट करने का प्रबंधन नहीं कर रहा हूं। क्या किसी को कोई विचार है कि यह क्यों हो सकता है? –

9
सरगस के जवाब के अलावा

, क्योंकि भागो मोड में आप एक त्रुटि मिल सकता है आपको लगता है कि लाइन टिप्पणी करने के लिए भूल जाते हैं, तो आपको निम्न इस्तेमाल कर सकते हैं:

if(android.os.Debug.isDebuggerConnected()) 
    android.os.Debug.waitForDebugger(); 

तो यह अपने आप का ख्याल रखता है।

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

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