Как восстановить истинную трассировку вызова сопрограммы?Android

Форум для тех, кто программирует под Android
Ответить
Гость
 Как восстановить истинную трассировку вызова сопрограммы?

Сообщение Гость »


Это до боли знакомая проблема всем, кто работает с асинхронными API: когда ваш вызов сталкивается с ошибкой, частный поток асинхронной библиотеки обнаруживает это, создает объект исключения и передает его обратному вызову. Единственная информация, заслуживающая внимания в этом исключении, — это его сообщение и, возможно, его тип. Трассировка стека бесполезна.

Совместите это со способом сообщения о сбое приложения в Google Play: сообщение удаляется, и все, что вы получаете, — это трассировка стека. Теперь тебе не с чем идти. Вы просто знаете, что в вашем приложении есть ошибка, которую вы не обнаружили при собственном тестировании.

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

Я знаком с модулем kotlinx-coroutines-debug и вижу, что на стороне реализации есть некоторые возможности для воссоздания трассировки стека сопрограмм, но как я могу использовать эти возможности в рабочем приложении, установленном на компьютере моего пользователя? смартфон?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»