Нужна рекомендация для хорошего ресурса по устранению неполадок Android с помощью LogCat и консоли - PullRequest
0 голосов
/ 08 апреля 2011

все. Кто-нибудь может порекомендовать хороший ресурс, который дает представление о том, как устранить неполадки Android с помощью LogCat и консоли? Любая помощь будет высоко ценится:)

1 Ответ

1 голос
/ 22 мая 2011

Я никогда не видел ничего написанного, но вот несколько советов (или, по крайней мере, так я это делаю):

  • Отслеживание ошибки в стеке:

    • При устранении неполадок после принудительного закрытия всегда ищите часть ERROR logcat. За ним последует тип исключения .
    • Если вы получаете не очень полезный java.lang.RuntimeException, найдите ниже исходное исключение, выданное , например, Caused by: java.lang.NullPointerException
    • За этими исключениями последует трассировка стека вашего приложения. Вы можете найти там , где было сгенерировано исключение (класс, метод и строка) и какие методы вызвали его. Попробуйте найти там свою посылку и выясните, как она попала в это исключение.
    • Если это исключение, о котором вы не знаете, google it : Я обычно использую "java 6 xxx.xxx.xxException" или "android xxx.xxx.xxException", чтобы быстро получить ссылку к документации API об этом исключении.
    • Затем прочитайте документы о классе, который генерирует исключение (например, в случаях, когда оно может быть нулевым и т. Д.)
  • Настройка журналов

    • Я злоупотребляю Log.d("MyClass", "Some variable =" + variable);. Это заканчивается очень информативно. Иногда я просто использую журнал для проверки , где в дереве if / else я или для отслеживания конструкторов (полезно знать, если я повторно использую объект или создаю новый несколько раз ).
    • Если logcat слишком шумный, я использую grep и определенный маркер для моих журналов , например, Log.d("***> MyClass", "Some variable =" + variable); или Log.d("***> MyClass2", "onCreate()");, я фильтрую те, используя простой adb logcat | grep '\*\*\*>'
    • Вы можете быстро фильтр для ошибок в журнале, используя adb logcat *:E
  • Когда ничего не помогает: Опубликуйте трассировку здесь:)
...