android - 在没有堆栈跟踪的情况下调试 Android 崩溃
问题描述
此应用在应用启动时实例化 WebView,而不将其添加到 UI 树中。这样做是为了预加载。
稍后最终将 WebView 添加到 UI 树时,应用程序崩溃而没有堆栈跟踪。
在 WebView 被添加到 UI 树时,logcat 在运行 API 级别 22 的模拟器上显示以下内容:
D <last app event before adding preloaded webview to ui tree>
W ResourceType: No known package when getting name for resource number 0xffffffff
E eglCodecCommon: glUtilsParamSize: unknow param 0x000085b5
E eglCodecCommon: glUtilsParamSize: unknow param 0x00008b49
E eglCodecCommon: glUtilsParamSize: unknow param 0x00008b4b
E eglCodecCommon: glUtilsParamSize: unknow param 0x00008b4a
D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 10059 <<<<<<
D AndroidRuntime: CheckJNI is ON
E cutils-trace: Error opening trace file: Permission denied (13)
E memtrack: Couldn't load memtrack module (No such file or directory)
E android.os.Debug: failed to load memtrack module: -2
D AndroidRuntime: Calling main entry org.chromium.components.crash.browser.CrashpadMain
W linker : libwebviewchromium.so: unused DT entry: type 0x6ffffef5 arg 0x4c34
W linker : libwebviewchromium.so: unused DT entry: type 0x6ffffffe arg 0x4bd4
W linker : libwebviewchromium.so: unused DT entry: type 0x6fffffff arg 0x3
E chromium: [0722/152535.383241:ERROR:elf_dynamic_array_reader.h(61)] tag not found
E chromium: [0722/152535.394807:ERROR:file_io_posix.cc(140)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: No such file or directory (2)
E chromium: [0722/152535.394897:ERROR:file_io_posix.cc(140)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq: No such file or directory (2)
E chromium: [0722/152535.401624:ERROR:system_snapshot_linux.cc(125)] Couldn't read property ro.product.board
D AndroidRuntime: Shutting down VM
I WindowState: WIN DEATH: Window{2507ca0c u0 com.myapp.debug}
这是否指向崩溃的根本原因?
我想知道它们是否是崩溃恢复/转储机制的一部分(由于在错误之前引用了“CrashpadMain”),以及我是否能够在其他地方找到堆栈跟踪。虽然我可以使用adb bugreport
,但我不知道在报告中的何处查找有关崩溃实例的信息。
值得注意的是,我只能在模拟器上重现此崩溃(尽管始终如一),并且仅运行 API 级别 22、25、27 和 29。物理设备和运行 API 级别 23 的模拟器不会重现它。
解决方案
推荐阅读
- c# - Unity 如何让 GameObject 实例在被引用时被销毁?
- arrays - Python中检测零填充字节数组的最快方法
- sql - 如何在这个特定的 T-SQL 查询中使用表变量?
- javascript - 如何从 Xpath 中的 javascript 事件处理程序获取链接?
- laravel - 如何在 laravel 查询中使用 sum 和 groupBy
- javascript - 这篇反应文章中的“关闭”是什么意思?
- c# - 如何使用手动设置的 RSA 参数加密和解密字符串?为什么 RSACryptoServiceProvider 抛出?
- vue.js - Vue.js VueX 属性未定义问题
- php - php 插入我的数据库后,日期始终为 1970-01-01 和 2018-08-31
- react-native - 如何修复错误“没有这样的规模错误:无法发布 CodePush 更新”?