Есть ли способ получить дамп памяти при сбое приложения? - PullRequest
3 голосов
/ 05 октября 2010

Я занят написанием приложения и заметил, что оно иногда дает сбой, и когда это происходит, и я возвращаюсь к своему компьютеру, тогда у меня только трассировка стека.

Могу ли я получить дамп памяти приложения во время сбоя?

Спасибо

Ответы [ 3 ]

4 голосов
/ 05 октября 2010

Если вы вызываете android.os.Debug.dumpHprofData (String fileName), вы можете захватить дамп HPROF, который можно просмотреть с помощью jhat или MAT.Вам нужно каким-то образом перехватить исключение (либо попытаться / поймать, либо указать собственный глобальный обработчик исключений по умолчанию), а если вы хотите записать в / sdcard, вам потребуется разрешение WRITE_EXTERNAL_STORAGE.

См. Также Профилирование кучи Dalvik .

1 голос
/ 05 октября 2010

Могу ли я получить дамп памяти приложения во время сбоя?

Не то, что я знаю - извините!

1 голос
/ 05 октября 2010

Не дамп памяти, а ACRA, * ​​1001 *http://code.google.com/p/acra/, (Отчет о сбое приложения для Android) довольно хорошо записывает информацию о том, что происходит.С самой подробной информацией, являющейся трассировкой стека.

Сама по себе информация отладки может быть не очень полезной, но вы можете изменить их код, чтобы сделать и отправлять logcat, когда ваше приложение падает, чтобы вы могли получить ещеподробности о том, что происходит.Я думаю, что они не делают этого по умолчанию из соображений конфиденциальности / безопасности, но более полезно увидеть logcat во время сбоя.

Кроме этого вам необходимо отладить его с помощью отладчика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...