2015-01-08 6 views
6

में लॉगिंग और क्रैश स्टैक निशान नहीं दिख रहे हैं मैं अपने डिवाइस पर एक ऐप डीबग करने की कोशिश कर रहा हूं और मुझे डीबगर के साथ कुछ परेशानी हो रही है। मैं लकड़हारा परीक्षण की कोशिश की है, तो यह बहुत तरह Logcat लिए लिखते थे देखने के लिए:एंड्रॉइड स्टूडियो

Log.d("MyActivity", "Testing logging..."); 

लेकिन कुछ भी नहीं app: com.myapp.debug फिल्टर के साथ Logcat में दिखाई देता है। जब मैं बस स्ट्रिंग के आधार पर फ़िल्टर ऊपर आता है (मेरे ऐप नाम का उपयोग कर), लेकिन प्रविष्टि इस प्रकार है:

01-08 13:45:07.468 29748-29748/? D/MyActivity﹕ Testing logging... 

इस प्रश्न चिह्न मतलब यह है कि अनुप्रयोग में कुछ डिबगर के माध्यम से पारित नहीं हो रही है? यह डीबगर के साथ मेरे दूसरे मुद्दे से संबंधित हो सकता है:

मैं एक दुर्घटना डीबग कर रहा हूं और हर बार ऐसा होता है, फोन बस दिखाता है कि 'ऐप प्रतिक्रिया नहीं दे रहा है' संदेश तो वर्तमान गतिविधि को बंद कर देता है, डीबगर को डिस्कनेक्ट करता है, और ऐप पिछली गतिविधि के साथ चल रहा है। कोई ढेर निशान नहीं, दुर्घटना के बारे में कोई जानकारी नहीं, कुछ भी नहीं। क्या यह काम करने के लिए एंड्रॉइड स्टूडियो में स्थापित करने की ज़रूरत है?

+4

मैं अक्सर लगता है कि पैकेज के आधार पर छानने, logcat में दिखा किसी कारण से लॉग इन करें उत्पादन को रोकता है। अपने एएनआर का निदान करने के लिए, मैं अनुशंसा करता हूं: लॉगकैट में सभी फ़िल्टरिंग को हटा रहा है, और लॉग स्तर को चेतावनी (त्रुटि नहीं) पर स्विच कर रहा हूं। फिर एएनआर शो पर कोई विवरण देखने के लिए आउटपुट के माध्यम से स्क्रॉल करें। – stkent

+0

मुझे यकीन नहीं है, लेकिन मेरे पास समान समस्याएं थीं। बस रन -> फिर से शुरू करें .. –

+0

मुझे एएस 1.0 के साथ एक ही समस्या है जब मैं अपने ऐप पैकगेनेम द्वारा फ़िल्टर करता हूं तो मुझे लॉगकैट में कुछ भी दिखाई नहीं देता है। फ़िल्टर को हटाने से डिवाइस से सब कुछ पता चलता है। –

उत्तर

4

मुझे लगता है कि यह एक ही एडीबी या फाइलर समस्या है। पहले सभी फ़िल्टर हटा दें। एडीबी पुनरारंभ करें - टर्मिनल एडीबी हत्या-सर्वर & & adb स्टार्ट-सर्वर में टाइप करें।

+0

अजीब यह सहेजा गया –

+0

फ़िल्टर को इंगित करने के लिए धन्यवाद, ऐसा लगता है कि मेरा फ़िल्टर गलती से फायरबेस पर सेट किया गया था, इसलिए लॉगकैट –

+0

@NeonWarge पर लगभग कोई लॉग दिखाई नहीं देता है आपने मेरा दिन बचाया !! किसी भी तरह फायरबेस को फ़िल्टर क्यों सेट किया जाता है? – Ishaan

12

मुझे यह समस्या भी है और मुझे इसके लिए भी एक अच्छा जवाब नहीं मिल रहा है। इसके बजाय मैंने थ्रेड.सेटडिफॉल्ट यूएनकॉटएक्सप्शन हैंडलर() के साथ त्रुटि को पकड़ लिया और लॉग.ई()

के साथ लॉग इन किया। मैंने इस कक्षा को ऐसा करने के लिए उपयोग किया।

public class ExceptionHandler implements java.lang.Thread.UncaughtExceptionHandler { 
    private final String LINE_SEPARATOR = "\n"; 
    public static final String LOG_TAG = ExceptionHandler.class.getSimpleName(); 

    @SuppressWarnings("deprecation") 
    public void uncaughtException(Thread thread, Throwable exception) { 
    StringWriter stackTrace = new StringWriter(); 
    exception.printStackTrace(new PrintWriter(stackTrace)); 

    StringBuilder errorReport = new StringBuilder(); 
    errorReport.append(stackTrace.toString()); 

    Log.e(LOG_TAG, errorReport.toString()); 

    android.os.Process.killProcess(android.os.Process.myPid()); 
    System.exit(10); 
    } 
} 

फिर मेरी गतिविधि में।

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    /** 
    * catch unexpected error 
    */ 
    Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler()); 

    setContentView(R.layout.activity_main); 

    //other codes 
    } 

उम्मीद है कि इससे मदद मिलती है।

+0

इस उपयोगी कक्षा के लिए धन्यवाद। – ondermerol

+0

यह अति उत्साही है, सप्ताहों से इस के साथ संघर्ष कर रहा है। –

2

शायद आपके Google Analytics "ga_reportUncaughtExceptions" को सत्य पर सेट किया गया है, इसे गलत करने के लिए इसे चालू करने और अपवाद को लॉगकैट पर मुद्रित किया जाता है। कृपया अधिक जानकारी के लिए नीचे दिए गए लिंक का संदर्भ लें।

Why does android logcat not show the stack trace for a runtime exception?

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