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
分享到:
相关推荐
而“工具”可能是指用于编译、打包、部署这些库的相关工具和步骤,例如NDK(Native Development Kit)用于编译C/C++代码,以及Android Studio中的CMakeLists.txt文件来管理依赖。 在提供的文件列表中,只看到一个名...
Linux平台作为Android开发的常用环境,拥有丰富的工具集来创建和管理这些库。本主题主要围绕“linux打android so库工具”展开,详细介绍如何在Linux环境下构建和使用Android SO库。 首先,我们要了解的是交叉编译的...
在Android系统中,这种攻击可能涉及动态链接库(.so文件)的注入。 描述中提到,这个测试文件包括两个组成部分:`INJECT` 和 `libInjectModule.so`。`INJECT` 可能是一个测试工具或者脚本,用于模拟内存注入行为,...
在Android系统中,".so"文件是动态链接库(Dynamic Link Library)的简称,它是针对Android平台的C/C++代码编译后的产物。这些文件在Java层与原生代码交互时起到关键作用,例如实现高性能计算、硬件加速或调用操作...
在Android平台上进行流媒体服务时,Live555是一个常用且强大的开源库,它支持多种实时音频和视频传输协议,如RTSP (Real Time Streaming Protocol)、RTP (Real-time Transport Protocol) 和RTCP (Real-time ...
Android开发中常用的代码混淆工具是Proguard。Proguard不仅可以压缩代码,还可以优化、混淆和预检代码。 - **压缩(Shrink)**:删除未使用的类、字段、方法和属性。 - **优化(Optimize)**:对字节码进行优化,...
在Android应用开发中,SO(Shared Object)文件是C或C++编译的库,用于提供Java层无法实现的性能优化或系统级别的功能。然而,由于SO文件通常包含敏感的原生代码,它们成为了黑客攻击的目标。为了提高应用的安全性,...
NDK(Native Development Kit)是Android的一个工具集,它提供了编译C/C++代码的能力,生成的本地库通常以.so文件的形式存在,这些文件可以被Java层通过JNI接口调用。 首先,要开发一个.so文件,你需要设置开发环境...
总结,Android调试需要综合运用多种工具和技巧,从系统层面到应用层面全面了解运行状态。理解Linux基础和Android系统架构对于提升调试效率至关重要。通过熟练掌握这些方法,开发者能够更快地定位和解决各种复杂问题...
4. **编译本地代码**:使用NDK的编译工具链(如ndk-build或cmake),生成.so动态库文件。 5. **Java层调用**:在Java代码中通过`System.loadLibrary()`加载.so库,调用JNI接口。 Android NDK的工具: 1. **ndk-...
1. **Android SDK**: 这个项目肯定依赖于Android Software Development Kit (SDK),它包含了一组工具和库,用于构建、调试和部署Android应用。 2. **Java或Kotlin编程**: Android应用主要使用Java或Kotlin语言编写...
"Android 串口测试工具源码 串口调试" 提供了一种解决方案,它允许开发者通过Android设备与外部硬件设备进行串行数据交换。这个工具源码包含了一些关键功能,如设置自动发送、JNI(Java Native Interface)代码以及...
`hciconfig`和`hcitool`是Linux系统中常用的蓝牙管理命令行工具,它们在Android系统上同样有其作用。本文将深入探讨这两个工具的源码以及如何在Android上利用NDK(Native Development Kit)进行编译。 `hciconfig`...
GDB (GNU Debugger) 和GDBserver是Linux和Android系统中常用的远程调试工具,它们允许开发者在本地主机上控制运行在目标设备上的程序。本文将详细介绍如何在Android 6.0上安装和使用GDB及GDBserver,以及如何利用...
JUnit和Espresso是Android应用常用的测试框架。 15. **Material Design**: Google推出的Material Design设计语言为Android应用提供了统一的视觉风格和交互指南,很多开源应用会遵循这一规范。 在"sample-android-...
1. **glibc(GNU C Library)**:glibc是Linux操作系统中最常用且至关重要的C语言库,全称为GNU C Library。它为应用程序提供了许多基本功能,包括系统调用接口、标准C库函数、POSIX兼容接口等。glibc不仅支持C语言...
在Android平台上,OpenSSL库被广泛用于实现安全套接层(SSL)和传输层安全(TLS)协议,这些协议是互联网通信中确保数据安全的重要工具。本文将详细讲解如何在Android应用中集成并使用OpenSSL,同时提供一个调试通过的...
Android 的 ADB 工具是一个通用的调试工具,提供了多种功能,帮助开发者管理和调试 Android 设备或模拟器。下面是 ADB 工具的一些常用操作: 安装应用到模拟器 使用 ADB 工具,可以将应用安装到模拟器中,命令为:...
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 ...
.so文件是Android应用程序中native代码的库文件。编译.so文件需要使用NDK提供的编译工具。编译命令为ndk-build NDK_DEBUG=1,可以编译出可调试版的二进制文件;ndk-build NDK_DEBUG=0可以编译出release版的二进制...