- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我一直在尝试调试在没有 Java 堆栈跟踪的情况下发生的 android 崩溃...Java 堆栈跟踪错误对我来说很容易修复...但我遇到的这个错误似乎在内部崩溃“NDK”或 Android 的深层内部结构被称为...顺便说一句,我没有对 NDK 进行任何修改...我只是不知道还有什么可以称呼该层,呵呵。
无论如何,我主要是在寻找有关深度调试方法的建议,而不是帮助解决这个特定问题...因为我怀疑我是否可以发布所有涉及的源代码...所以我真的只需要知道如何在深层设置断点或任何其他方法来追踪深度崩溃的源头……所以我将简要描述错误,然后发布 LogCat。
我有一个包含 7 个 Activity 的应用
Activity_INTRO
Activity_EULA
Activity_MAIN
Activity_Contact
Activity_News
Activity_Library
Activity_More
INTRO 是发起者...它会在某些公司 Logo 中淡出...显示它们一段时间后会跳转到 EULA Activity ...在用户接受 EULA 后,它会跳转到 MAIN... MAIN 然后创建一个 TabHost 并用剩下的 4 个 Activity 填充它
现在是问题...当我点击 TabHost 的“更多”选项卡时,应用程序暂停几秒钟然后硬崩溃...没有 Java 堆栈跟踪,但有一个实际的 ASM 级别跟踪寄存器、IP 和堆栈……无论我选择哪个选项卡,联系人、新闻、图书馆等等,都会发生同样的事情……所有这些都因同样的硬崩溃而崩溃
但是,如果我将 list 设置为在 Activity_MAIN 启动应用程序,绕过 INTRO 和 EULA,那么这些崩溃就不会发生......所以那些以某种方式处理 TabHost'ed Activities 的开放 Activity 中有些东西挥之不去.. .我想知道这到底是什么......因为当他们需要跳跃时我在这些 Activity 上使用 finish() ......实际上我是这样做的如果你看到了请告诉我任何错误:
当从 INTRO 跳到 EULA 时,我会:
//Display the EULA
Intent newIntent = new Intent (avi, Activity_EULA.class);
startActivity (newIntent);
finish();
and EULA to MAIN:
Intent newIntent = new Intent (this, Activity_Main.class);
startActivity (newIntent);
finish();
无论如何,这是硬崩溃日志...如果有什么方法可以逆向工程,请告诉我/system/lib/libcutils.so
或 /system/lib/libandroid_runtime.so
,因为我认为崩溃发生在其中一个......我认为它正在发生实际上在 libandroid_runtime 中......无论如何在日志中:
12-25 00:56:07.322: INFO/DEBUG(551): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
12-25 00:56:07.332: INFO/DEBUG(551): Build fingerprint: 'generic/sdk/generic/:1.5/CUPCAKE/150240:eng/test-keys'
12-25 00:56:07.362: INFO/DEBUG(551): pid: 722, tid: 723 >>> com.killerapps.chokes <<<
12-25 00:56:07.362: INFO/DEBUG(551): signal 11 (SIGSEGV), fault addr 00000004
12-25 00:56:07.362: INFO/DEBUG(551): r0 00000004 r1 40021800 r2 00000004 r3 ad3296c5
12-25 00:56:07.372: INFO/DEBUG(551): r4 00000000 r5 00000000 r6 ad342da5 r7 41039fb8
12-25 00:56:07.372: INFO/DEBUG(551): r8 100ffcb0 r9 41039fb0 10 41e014a0 fp 00001071
12-25 00:56:07.382: INFO/DEBUG(551): ip ad35b874 sp 100ffc98 lr ad3296cf pc afb045a8 cpsr 00000010
12-25 00:56:07.552: INFO/DEBUG(551): #00 pc 000045a8 /system/lib/libcutils.so
12-25 00:56:07.572: INFO/DEBUG(551): #01 lr ad3296cf /system/lib/libandroid_runtime.so
12-25 00:56:07.582: INFO/DEBUG(551): stack:
12-25 00:56:07.582: INFO/DEBUG(551): 100ffc58 00000000
12-25 00:56:07.592: INFO/DEBUG(551): 100ffc5c 001c5278 [heap]
12-25 00:56:07.602: INFO/DEBUG(551): 100ffc60 000000da
12-25 00:56:07.602: INFO/DEBUG(551): 100ffc64 0016c778 [heap]
12-25 00:56:07.602: INFO/DEBUG(551): 100ffc68 100ffcc8
12-25 00:56:07.602: INFO/DEBUG(551): 100ffc6c 001c5278 [heap]
12-25 00:56:07.612: INFO/DEBUG(551): 100ffc70 427d1ac0
12-25 00:56:07.612: INFO/DEBUG(551): 100ffc74 000000c1
12-25 00:56:07.612: INFO/DEBUG(551): 100ffc78 40021800
12-25 00:56:07.612: INFO/DEBUG(551): 100ffc7c 000000c2
12-25 00:56:07.612: INFO/DEBUG(551): 100ffc80 00000000
12-25 00:56:07.612: INFO/DEBUG(551): 100ffc84 00000000
12-25 00:56:07.622: INFO/DEBUG(551): 100ffc88 00000000
12-25 00:56:07.622: INFO/DEBUG(551): 100ffc8c 00000000
12-25 00:56:07.622: INFO/DEBUG(551): 100ffc90 df002777
12-25 00:56:07.632: INFO/DEBUG(551): 100ffc94 e3a070ad
12-25 00:56:07.632: INFO/DEBUG(551): #00 100ffc98 00000000
12-25 00:56:07.632: INFO/DEBUG(551): 100ffc9c ad3296cf /system/lib/libandroid_runtime.so
12-25 00:56:07.632: INFO/DEBUG(551): 100ffca0 100ffcd0
12-25 00:56:07.642: INFO/DEBUG(551): 100ffca4 ad342db5 /system/lib/libandroid_runtime.so
12-25 00:56:07.642: INFO/DEBUG(551): 100ffca8 410a79d0
12-25 00:56:07.642: INFO/DEBUG(551): 100ffcac ad00e3b8 /system/lib/libdvm.so
12-25 00:56:07.652: INFO/DEBUG(551): 100ffcb0 410a79d0
12-25 00:56:07.652: INFO/DEBUG(551): 100ffcb4 0016bac0 [heap]
12-25 00:56:07.662: INFO/DEBUG(551): 100ffcb8 ad342da5 /system/lib/libandroid_runtime.so
12-25 00:56:07.662: INFO/DEBUG(551): 100ffcbc 40021800
12-25 00:56:07.662: INFO/DEBUG(551): 100ffcc0 410a79d0
12-25 00:56:07.662: INFO/DEBUG(551): 100ffcc4 afe39dd0
12-25 00:56:07.662: INFO/DEBUG(551): 100ffcc8 100ffcd0
12-25 00:56:07.662: INFO/DEBUG(551): 100ffccc ad040a8d /system/lib/libdvm.so
12-25 00:56:07.672: INFO/DEBUG(551): 100ffcd0 41039fb0
12-25 00:56:07.672: INFO/DEBUG(551): 100ffcd4 420000f8
12-25 00:56:07.672: INFO/DEBUG(551): 100ffcd8 ad342da5 /system/lib/libandroid_runtime.so
12-25 00:56:07.672: INFO/DEBUG(551): 100ffcdc 100ffd48
12-25 00:56:07.852: DEBUG/dalvikvm(722): GC freed 367 objects / 15144 bytes in 210ms
12-25 00:56:08.081: DEBUG/InetAddress(722): www.akillerapp.com: 74.86.47.202 (family 2, proto 6)
12-25 00:56:08.242: DEBUG/dalvikvm(722): GC freed 62 objects / 2328 bytes in 122ms
12-25 00:56:08.771: DEBUG/dalvikvm(722): GC freed 245 objects / 11744 bytes in 179ms
12-25 00:56:09.131: INFO/ActivityManager(577): Process com.killerapps.chokes (pid 722) has died.
12-25 00:56:09.171: INFO/WindowManager(577): WIN DEATH: Window{43719320
com.killerapps.chokes/com.killerapps.chokes.Activity_Main paused=false}
12-25 00:56:09.251: INFO/DEBUG(551): debuggerd committing suicide to free the zombie!
12-25 00:56:09.291: DEBUG/Zygote(553): Process 722 terminated by signal (11)
12-25 00:56:09.311: INFO/DEBUG(781): debuggerd: Jun 30 2009 17:00:51
12-25 00:56:09.331: WARN/InputManagerService(577): Got RemoteException sending
setActive(false) notification to pid 722 uid 10020
最佳答案
该崩溃似乎是由 Android 固件引起的。 SDK 开发人员不可能导致其中之一,因此这意味着 Android 或您的设备中存在错误。
如果您可以创建一个可靠地重现此崩溃的测试项目,请在 http://b.android.com 上提出问题并将它连同上面显示的核心转储跟踪和任何其他有用信息一起附加。通常,我会说你应该先搜索 b.android.com,但我不知道跟踪的哪些部分足够独特,无法确定你的崩溃之前是否已被报告过。
关于android - 如何在 Android 中调试 "deep"崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4569671/
我需要将文本放在 中在一个 Div 中,在另一个 Div 中,在另一个 Div 中。所以这是它的样子: #document Change PIN
奇怪的事情发生了。 我有一个基本的 html 代码。 html,头部, body 。(因为我收到了一些反对票,这里是完整的代码) 这是我的CSS: html { backgroun
我正在尝试将 Assets 中的一组图像加载到 UICollectionview 中存在的 ImageView 中,但每当我运行应用程序时它都会显示错误。而且也没有显示图像。 我在ViewDidLoa
我需要根据带参数的 perl 脚本的输出更改一些环境变量。在 tcsh 中,我可以使用别名命令来评估 perl 脚本的输出。 tcsh: alias setsdk 'eval `/localhome/
我使用 Windows 身份验证创建了一个新的 Blazor(服务器端)应用程序,并使用 IIS Express 运行它。它将显示一条消息“Hello Domain\User!”来自右上方的以下 Ra
这是我的方法 void login(Event event);我想知道 Kotlin 中应该如何 最佳答案 在 Kotlin 中通配符运算符是 * 。它指示编译器它是未知的,但一旦知道,就不会有其他类
看下面的代码 for story in book if story.title.length < 140 - var story
我正在尝试用 C 语言学习字符串处理。我写了一个程序,它存储了一些音乐轨道,并帮助用户检查他/她想到的歌曲是否存在于存储的轨道中。这是通过要求用户输入一串字符来完成的。然后程序使用 strstr()
我正在学习 sscanf 并遇到如下格式字符串: sscanf("%[^:]:%[^*=]%*[*=]%n",a,b,&c); 我理解 %[^:] 部分意味着扫描直到遇到 ':' 并将其分配给 a。:
def char_check(x,y): if (str(x) in y or x.find(y) > -1) or (str(y) in x or y.find(x) > -1):
我有一种情况,我想将文本文件中的现有行包含到一个新 block 中。 line 1 line 2 line in block line 3 line 4 应该变成 line 1 line 2 line
我有一个新项目,我正在尝试设置 Django 调试工具栏。首先,我尝试了快速设置,它只涉及将 'debug_toolbar' 添加到我的已安装应用程序列表中。有了这个,当我转到我的根 URL 时,调试
在 Matlab 中,如果我有一个函数 f,例如签名是 f(a,b,c),我可以创建一个只有一个变量 b 的函数,它将使用固定的 a=a1 和 c=c1 调用 f: g = @(b) f(a1, b,
我不明白为什么 ForEach 中的元素之间有多余的垂直间距在 VStack 里面在 ScrollView 里面使用 GeometryReader 时渲染自定义水平分隔线。 Scrol
我想知道,是否有关于何时使用 session 和 cookie 的指南或最佳实践? 什么应该和什么不应该存储在其中?谢谢! 最佳答案 这些文档很好地了解了 session cookie 的安全问题以及
我在 scipy/numpy 中有一个 Nx3 矩阵,我想用它制作一个 3 维条形图,其中 X 轴和 Y 轴由矩阵的第一列和第二列的值、高度确定每个条形的 是矩阵中的第三列,条形的数量由 N 确定。
假设我用两种不同的方式初始化信号量 sem_init(&randomsem,0,1) sem_init(&randomsem,0,0) 现在, sem_wait(&randomsem) 在这两种情况下
我怀疑该值如何存储在“WORD”中,因为 PStr 包含实际输出。? 既然Pstr中存储的是小写到大写的字母,那么在printf中如何将其给出为“WORD”。有人可以吗?解释一下? #include
我有一个 3x3 数组: var my_array = [[0,1,2], [3,4,5], [6,7,8]]; 并想获得它的第一个 2
我意识到您可以使用如下方式轻松检查焦点: var hasFocus = true; $(window).blur(function(){ hasFocus = false; }); $(win
我是一名优秀的程序员,十分优秀!