- 浏览: 212916 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (196)
- android (153)
- sqlite (1)
- java (3)
- os (4)
- tools (4)
- ResolveInfo 转 packageinf 取信息 (1)
- multimedia (2)
- fastboot (1)
- create user in samba (0)
- android qcn (0)
- windows (0)
- net (2)
- linux (1)
- git (0)
- proguard (0)
- android cpu (1)
- android gts (1)
- MySql (1)
- c/c++ (0)
- network (1)
- python (3)
- AI (1)
- Ultroedit (1)
- HarmonyOS NEXT (0)
From http://changxianli6121.blog.163.com/blog/static/56392130201312652555385/
有两种方法可以分析 crash 的堆栈信息
1 google提供了一个python脚本,可以从
http://code.google.com/p/android-ndk-stacktrace-analyzer/
下载这个python脚本,然后使用 adb logcat -d > logfile 导出 crash 的log,
使用 arm-eabi-objdump 位于build/prebuilt/linux-x86/arm-eabi-4.2.1/bin下面
把so或exe转换成汇编代码,如:arm-eabi-objdump -S mylib.so > mylib.asm,
使用脚本
python parse_stack.py <asm-file> <logcat-file>
2 直接使用NDK下面的arm-linux-androideabi-addr2line
(D:\android-ndk-r8\toolchains\arm-linux-
androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-addr2line.exe)
例如:arm-linux-androideabi-addr2line -C -f -e libxxx.so 0x#####(address)
android调试工具addr2line使用补充
使用addr2line追踪自有动态库(so文件)的bug, 补充:
解决出现 ??:0 , 没法展示源代码行数的问题
在Android.mk 文件中:
Java代码
LOCAL_CFLAGS := -D__STDC_CONSTANT_MACROS -Wl,-Map=test.map -g
补充2个编译参数 -Wl,-Map=test.map -g .
增加gcc警告和调试标志
arm-linux-androideabi-addr2line -C -f -e /项目目录/obj/local/armeabi/libfaa_jni.so 0024362e
tip: 1,注意调试文件的位置在obj目录下,并非libs目录下生成的so文件
2,0024362e 为出错的机制位置
还有:
在jni/目录下增加Application.mk 文件, 修改为debug 模式,进行调试 APP_OPTIM := debug
具体application.mk 文件的配置见: http://blog.csdn.net/weidawei0609/article/details/6561280
有两种方法可以分析 crash 的堆栈信息
1 google提供了一个python脚本,可以从
http://code.google.com/p/android-ndk-stacktrace-analyzer/
下载这个python脚本,然后使用 adb logcat -d > logfile 导出 crash 的log,
使用 arm-eabi-objdump 位于build/prebuilt/linux-x86/arm-eabi-4.2.1/bin下面
把so或exe转换成汇编代码,如:arm-eabi-objdump -S mylib.so > mylib.asm,
使用脚本
python parse_stack.py <asm-file> <logcat-file>
2 直接使用NDK下面的arm-linux-androideabi-addr2line
(D:\android-ndk-r8\toolchains\arm-linux-
androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-addr2line.exe)
例如:arm-linux-androideabi-addr2line -C -f -e libxxx.so 0x#####(address)
android调试工具addr2line使用补充
使用addr2line追踪自有动态库(so文件)的bug, 补充:
解决出现 ??:0 , 没法展示源代码行数的问题
在Android.mk 文件中:
Java代码
LOCAL_CFLAGS := -D__STDC_CONSTANT_MACROS -Wl,-Map=test.map -g
补充2个编译参数 -Wl,-Map=test.map -g .
增加gcc警告和调试标志
arm-linux-androideabi-addr2line -C -f -e /项目目录/obj/local/armeabi/libfaa_jni.so 0024362e
tip: 1,注意调试文件的位置在obj目录下,并非libs目录下生成的so文件
2,0024362e 为出错的机制位置
还有:
在jni/目录下增加Application.mk 文件, 修改为debug 模式,进行调试 APP_OPTIM := debug
具体application.mk 文件的配置见: http://blog.csdn.net/weidawei0609/article/details/6561280
发表评论
-
Android SnappyDB
2018-05-15 11:23 908https://blog.csdn.net/qq_214305 ... -
使用UncaughtExceptionHandler保存全局异常(转)
2018-05-07 15:04 604From: https://blog.csdn.net/dre ... -
android udp
2018-04-10 19:47 566Android之Socket的基于UDP传输 接收方创建步骤: ... -
android DownloadManager
2018-04-10 12:52 553From: https://www.jianshu.com/p ... -
Snackbar 可以交互的Toast
2018-04-08 21:44 729Snackbar 是 Android design sup ... -
android 操作串口
2018-03-19 18:20 609http://blog.csdn.net/akunainian ... -
proguard对 android-support-v4.jar 的配置
2018-03-16 15:32 688-libraryjars libs/android-sup ... -
apk 多个dex
2018-03-16 10:05 968android studio 配置应用生成多个dex ... -
ddmlib 解决android n file explorer 为空问题
2018-03-16 09:27 890百度云:http://pan.baidu.com/s/1sl4 ... -
android 代码混淆
2018-03-15 08:38 1016打开混淆开关 Android.mk ... -
menu item 显示icon
2018-03-07 09:32 646@Override public boolean onMenu ... -
ubuntu 脚本切换root用户,并执行其它脚本
2018-03-05 09:58 0#!/bin/bash expect -c" ... -
DrawerLayout 滑动侧边栏
2018-03-01 10:42 0// TODO -
jack-server 多用户编译问题
2018-02-27 10:44 13993),需要同时修改 $HOME/.jack-server/co ... -
更新eclipse 遇到两个问题 Oxygen.2 Release (4.7.2)
2018-02-26 14:28 12131. the file dx.jar was not load ... -
监听系统开关变化
2018-02-05 14:02 804// 转屏开关 /** * Content obse ... -
android 8.0 模块编译命令
2018-02-02 14:42 1167Invoke ". build/envsetup.s ... -
svn checkout 忽略某个文件夹
2018-01-26 11:14 1354android源码更新时, frameworks\compil ... -
eclipse jni
2018-01-19 16:10 491试过,可以运行 http://blog.csdn.net/sb ... -
opencv for android
2018-01-19 14:37 415http://blog.csdn.net/sbsujjbcy/ ...
相关推荐
总的来说,为了实现"App保活",开发者需要对Android应用的生命周期有深入理解,熟练掌握异常处理、性能优化和资源管理技巧,并利用各种工具进行监测和调试。同时,对于Qt for Android开发者来说,还需要熟悉Qt框架下...
通过以上方法,我们可以构建一个更健壮、用户体验更好的Android应用。`AppManager`作为应用管理的工具类,能够帮助我们统一处理应用的退出和异常情况,使得开发者能更专注于业务逻辑的实现。在实际开发中,结合具体...
在Android应用开发过程中,调试是不可或缺的一环,它帮助开发者找出程序中的错误,优化性能,以及确保应用的稳定性和用户体验。本文将详细讲解Android调试工具及方法,包括使用Android Studio的调试器、Logcat、布局...
【标题】:Go-acra-go-Android应用崩溃报表的后台(ACRA) 【描述】:在Android应用程序开发中,为了确保应用的稳定性和用户体验,监控并处理应用崩溃至关重要。Go-acra-go是针对Android应用的一个后台服务,它专门...
通过集成此工具,开发者可以在不改变用户正常使用体验的情况下,获得应用崩溃时的详细信息。 2. **工作原理** 当Java层的代码抛出未捕获的异常时,AndroidLogCollector会监听到这个事件。它会记录异常的堆栈信息,...
### Android应用数据库升级方法 #### 一、引言 在Android开发中,应用程序的数据存储往往依赖于SQLite数据库。随着应用的不断迭代和发展,数据库结构也需要随之进行调整与优化。这便涉及到了数据库版本控制的问题...
从提供的文件信息中可以提取的知识点非常有限,且主要是关于获取技术书籍资源的信息,关于标题“Android应用开发揭秘pdf”和标签“Android 应用开发”的实质性内容并未提供。但尽管如此,我们可以根据这些有限的信息...
总的来说,"Android手机端崩溃日志记录.zip"是一个旨在解决Android应用崩溃日志记录问题的开源解决方案,其核心组件"SpiderMan-master"提供了一套完整的日志收集、存储、上传流程,对开发者调试和优化应用有着重要...
在Android应用开发中,异常和崩溃是常见的问题,开发者需要具备处理这些情况的能力。"android 异常崩溃demo"提供了一个实例,帮助开发者理解和解决在Android设备上遇到的应用程序错误。这个示例特别适用于那些在某些...
通过以上方法,开发者可以提高Android应用的健壮性,减少因未捕获异常导致的应用退出。在`TestUncaughtException`这个测试用例中,我们可以模拟各种异常情况,验证这些策略是否能够有效地防止应用异常退出,并确保在...
在Android应用中,你需要对这些不同的响应进行适当的处理,以确保应用的健壮性。 1. **异常处理**:当接收到非200状态码时,比如4xx(客户端错误)或5xx(服务器错误),应该捕获这些异常并提供合适的反馈。例如,...
3. **Android应用程序结构**:了解Android应用的基本结构至关重要,包括Manifest文件、Activity、Service、BroadcastReceiver和ContentProvider等组件的使用方法。 4. **UI设计**:书中将详细介绍如何使用XML布局...
在Android应用开发中,异常捕获是至关重要的一个环节,它可以帮助开发者及时发现并解决程序运行过程中的问题,提升用户体验。本篇文章将深入探讨“Android程序崩溃异常捕获”这一主题,包括如何实现异常捕获并将其...
在Android应用开发中,应用程序崩溃是开发者们常常面临的问题,这不仅影响用户体验,还可能导致数据丢失或服务中断。为了提供一个稳定、可靠的运行环境,"Android-App崩溃恢复框架!" 提供了一种解决方案,名为...
这个"android 自动提交应用崩溃报告源码.zip"文件很可能包含了一个名为"acra"的开源库的源代码,这个库专门用于处理Android应用的异常监控和报告。 "acra"全称是"Android Crash Report Aggregator",它是由ACRA...
intent.putExtra(Intent.EXTRA_SUBJECT, "应用崩溃报告"); StringBuilder body = new StringBuilder(); body.append("亲爱的开发者:\n\n"); for (String logPath : logs) { body.append("日志文件:").append...
首先,我们需要了解Android应用崩溃的基本原理。在Android系统中,当应用程序遇到无法处理的异常时,会触发一个未捕获异常处理器(UncaughtExceptionHandler),默认情况下,这会导致应用程序崩溃并显示"应用已停止...
在Android应用开发中,程序调试是一项至关重要的技能,它能帮助开发者找到并修复代码中的错误,提高应用的稳定性和性能。本资料包“Android应用源码之14.程序调试技术学习”提供了一些关于Android调试的实践教程和...
Android-xCrash是一款专为安卓应用开发者设计的崩溃捕获库,它的主要功能是帮助开发者在应用程序出现native崩溃或Java异常时,有效地收集并分析错误信息。这一工具的出现极大地提升了开发者诊断和修复应用程序问题的...
- 开发Android应用的主要工具是Android Studio,它集成了IDE、构建工具、调试器等。 - Android SDK(Software Development Kit)包含了开发Android应用所需的库、工具和文档。 - 使用Android Studio可以快速搭建...