`

Android调试.so库常用工具

 
阅读更多

http://blog.csdn.net/a345017062/article/details/6397759

 

readelf

显示目标ELF文件的信息,比如信赖库,头信息,段信息等。

addr2line

用户进程崩溃时内核会记录一些基本的调试信息,如果进程执行的ELF文件包含调试符号,就可以通过addr2line找到源文件中哪一行出问题。我 在调试Android的VM崩溃问题时使用到了这个工具(详细过程参考这里http://blog.csdn.net/a345017062 /archive/2011/05/04/6394864.aspx)

nm

列出目标文件的符号清单,当没有输入文件名时,默认为a.out。

size

显示一个目标文件或者链接库文件中的目标文件的各个段的大小,当没有输入文件名时,默认为a.out。

objdump

它主要是查看ELF目标文件的内容信息

ranlib

对静态库的符号索引表进行更新

strip

通过除去绑定程序和符号调试程序使用的信息,减少扩展公共对象文件格式(XCOFF)的对象文件的大小

gprof

可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用图”,包括函数的调用关系,每个函数调用花费了多少时间。

strings

列出文件中的可打印字符串

 

gprof使用介绍

http://hi.baidu.com/juventus/blog/item/312dd42a0faf169b033bf6ff.html

strip 命令

http://blog.csdn.net/aaronychen/archive/2008/03/18/2193735.aspx

ranlib的用法

http://blog.csdn.net/cmiaomiaozoo/archive/2009/10/28/4738910.aspx

linux 下使用 objdump 反汇编

http://blog.csdn.net/nwf5d/archive/2009/08/07/4423591.aspx

readelf命令

http://blog.csdn.net/zyp2671/archive/2010/04/02/5443770.aspx

nm命令介绍

http://blog.csdn.net/breezef/archive/2006/08/12/1054475.aspx

size 命令的用法

http://blog.csdn.net/clozxy/archive/2010/06/02/5641785.aspx

android 调试中 addr2line 命令的使用

http://blog.csdn.net/coder_jack/archive/2010/06/28/5700348.aspx

linux debug : addr2line追踪出错地址

http://blog.csdn.net/epicyong333/archive/2009/05/13/4178011.aspx

ldd 显示可执行模块的dependency

http://blog.csdn.net/chinalinuxzend/archive/2008/09/05/2887981.aspx

分享到:
评论

相关推荐

    最新版本(OpenSSL1.0.1e)libssl.so, libcrypto.so for Android

    而“工具”可能是指用于编译、打包、部署这些库的相关工具和步骤,例如NDK(Native Development Kit)用于编译C/C++代码,以及Android Studio中的CMakeLists.txt文件来管理依赖。 在提供的文件列表中,只看到一个名...

    linux打androidso库工具

    Linux平台作为Android开发的常用环境,拥有丰富的工具集来创建和管理这些库。本主题主要围绕“linux打android so库工具”展开,详细介绍如何在Linux环境下构建和使用Android SO库。 首先,我们要了解的是交叉编译的...

    INJECT_libInjectModule.so.zip

    在Android系统中,这种攻击可能涉及动态链接库(.so文件)的注入。 描述中提到,这个测试文件包括两个组成部分:`INJECT` 和 `libInjectModule.so`。`INJECT` 可能是一个测试工具或者脚本,用于模拟内存注入行为,...

    解析so文件

    在Android系统中,".so"文件是动态链接库(Dynamic Link Library)的简称,它是针对Android平台的C/C++代码编译后的产物。这些文件在Java层与原生代码交互时起到关键作用,例如实现高性能计算、硬件加速或调用操作...

    Live555_android.zip

    在Android平台上进行流媒体服务时,Live555是一个常用且强大的开源库,它支持多种实时音频和视频传输协议,如RTSP (Real Time Streaming Protocol)、RTP (Real-time Transport Protocol) 和RTCP (Real-time ...

    Android安卓安全加固反调试检测手段(java层+native层)(附代码实现).pdf

    Android开发中常用的代码混淆工具是Proguard。Proguard不仅可以压缩代码,还可以优化、混淆和预检代码。 - **压缩(Shrink)**:删除未使用的类、字段、方法和属性。 - **优化(Optimize)**:对字节码进行优化,...

    Android SO文件保护加固——混淆篇(一)源代码

    在Android应用开发中,SO(Shared Object)文件是C或C++编译的库,用于提供Java层无法实现的性能优化或系统级别的功能。然而,由于SO文件通常包含敏感的原生代码,它们成为了黑客攻击的目标。为了提高应用的安全性,...

    JNI开发第三步:20130801_NDK_JNI的.so文件开发-安卓访问LINUX驱动

    NDK(Native Development Kit)是Android的一个工具集,它提供了编译C/C++代码的能力,生成的本地库通常以.so文件的形式存在,这些文件可以被Java层通过JNI接口调用。 首先,要开发一个.so文件,你需要设置开发环境...

    android调试经验总结

    总结,Android调试需要综合运用多种工具和技巧,从系统层面到应用层面全面了解运行状态。理解Linux基础和Android系统架构对于提升调试效率至关重要。通过熟练掌握这些方法,开发者能够更快地定位和解决各种复杂问题...

    android__NDK.rar_android

    4. **编译本地代码**:使用NDK的编译工具链(如ndk-build或cmake),生成.so动态库文件。 5. **Java层调用**:在Java代码中通过`System.loadLibrary()`加载.so库,调用JNI接口。 Android NDK的工具: 1. **ndk-...

    Android应用源码仿360手机助手首页浮动菜单.zip

    1. **Android SDK**: 这个项目肯定依赖于Android Software Development Kit (SDK),它包含了一组工具和库,用于构建、调试和部署Android应用。 2. **Java或Kotlin编程**: Android应用主要使用Java或Kotlin语言编写...

    Android 串口测试工具源码 串口调试

    "Android 串口测试工具源码 串口调试" 提供了一种解决方案,它允许开发者通过Android设备与外部硬件设备进行串行数据交换。这个工具源码包含了一些关键功能,如设置自动发送、JNI(Java Native Interface)代码以及...

    andoird bt调试工具源码

    `hciconfig`和`hcitool`是Linux系统中常用的蓝牙管理命令行工具,它们在Android系统上同样有其作用。本文将深入探讨这两个工具的源码以及如何在Android上利用NDK(Native Development Kit)进行编译。 `hciconfig`...

    android6.0适用gdb/gdbserver以及linker

    GDB (GNU Debugger) 和GDBserver是Linux和Android系统中常用的远程调试工具,它们允许开发者在本地主机上控制运行在目标设备上的程序。本文将详细介绍如何在Android 6.0上安装和使用GDB及GDBserver,以及如何利用...

    sample-android-app,Android应用程序示例.zip

    JUnit和Espresso是Android应用常用的测试框架。 15. **Material Design**: Google推出的Material Design设计语言为Android应用提供了统一的视觉风格和交互指南,很多开源应用会遵循这一规范。 在"sample-android-...

    glibc_busybox_for_android

    1. **glibc(GNU C Library)**:glibc是Linux操作系统中最常用且至关重要的C语言库,全称为GNU C Library。它为应用程序提供了许多基本功能,包括系统调用接口、标准C库函数、POSIX兼容接口等。glibc不仅支持C语言...

    Android OpenSSL实例(调试通过)

    在Android平台上,OpenSSL库被广泛用于实现安全套接层(SSL)和传输层安全(TLS)协议,这些协议是互联网通信中确保数据安全的重要工具。本文将详细讲解如何在Android应用中集成并使用OpenSSL,同时提供一个调试通过的...

    Android 的 ADB 工具使用方法.doc

    Android 的 ADB 工具是一个通用的调试工具,提供了多种功能,帮助开发者管理和调试 Android 设备或模拟器。下面是 ADB 工具的一些常用操作: 安装应用到模拟器 使用 ADB 工具,可以将应用安装到模拟器中,命令为:...

    零基础入门Android(安卓)逆向-rar

    01.Android环境配置与常用工具介绍 02.Android smali 与 java 代码介绍1 : d% y( z) X- o& ~, e0 _; c1 I 03.Android smali 与 java 代码介绍2 c+ K& I/ q( b 04.Android smali 与 java 代码介绍3 % ]7 Z+ f! I! [5 ...

    cocos暑期实训-ballsVsBlocks打包APK.pptx

    .so文件是Android应用程序中native代码的库文件。编译.so文件需要使用NDK提供的编译工具。编译命令为ndk-build NDK_DEBUG=1,可以编译出可调试版的二进制文件;ndk-build NDK_DEBUG=0可以编译出release版的二进制...

Global site tag (gtag.js) - Google Analytics