#android #debugging #crash
#Android #отладка #сбой
Вопрос:
Traceview вылетает без причины, если я пытаюсь открыть собранный файл трассировки. Я проверил это с помощью старых файлов трассировки, затем он открывается. Но каждая новая трассировка, которую я записываю, вылетает с чем-то вроде
Traceview: ThreadData: 'java/lang/String.equals (Ljava/lang/Object;)Z' call time
(-8057) is less than previous time (763) for thread '[1] main'
Traceview: ThreadData: 'org/apache/harmony/dalvik/ddmc/DdmVmInternal.getThreadSt
ats ()[B' call time (-4883) is less than previous time (881439) for thread '[5]
JDWP'
Я пытаюсь отследить AsyncTask. Когда я открываю traceview из eclipse, все eclipse вылетает.
У кого-нибудь есть решение проблемы?
Комментарии:
1. Какая версия Android? Вы работаете на эмуляторе или устройстве (и если на последнем, то на каком)? Вы собираете данные трассировки с подключенным отладчиком?
2. отладчик не подключен. android на устройстве htc Hero — это пользовательское ПЗУ 2.3.1. Цель сборки — 2.2
3. Это странно. Если у вас есть копия dmtracedump (dalvik /tools /dmtracedump / в основном дереве исходных текстов, может быть, в SDK?), вы можете использовать «dmtracedump -o foo.trace», чтобы получить необработанный дамп файла и посмотреть, как выглядят временные метки.
4. Это тоже не работает. Этот инструмент завершает работу с ошибкой: не удается прочитать 8606823 байта из файла трассировки
Ответ №1:
Я сам даю ответ. Причиной было то пользовательское ПЗУ, которое не работало. Было странно, что эмулятор тоже не работал, но установка другого пользовательского ПЗУ решила проблему.
Этот официальный тикет для Android помог мне: http://code.google.com/p/android/issues/detail?id=4287
Комментарии:
1. Ах, я смутно помню это. Так и не узнал, почему пользовательское ПЗУ вело себя так странно. Черт возьми, если dmtracedump не принимает файл, это говорит о том, что сам файл поврежден (например, усечен).