Android安装GDB/GDB server
在没有安卓系统源码,还想调试系统代码查看崩溃信息的时候也可以用gdb或者gdbserver来调试,但是手机里没有装gdb或gdbserver。记录一下手动安装踩的坑:
首先,需要下载编译好的gdbserver。官方渠道可以从ndk-toolchain中里找,解压后在/prebuild文件夹下找对应处理器架构的版本。
然后通过adb push到手机上。貌似即使手机root之后,adb push也只能push到/data/local/目录下。
文件push到手机后需要赋予可执行权限:chmod +x 文件名,然后就可以运行命令了(自己测试是必须完整路径名才能跑/data/loca/tmp/gdbserver。
最后还有一个坑,据说安卓4.1以后加入了PIE机制,会对执行的二进制文件进行安全检查,我们自己传上去的gdbserver通不过该检查,会报如下错误:
error: only position independent executables (PIE) are supported.
参考知乎上的相关问题(https://www.zhihu.com/question/30575223)
有答主给出两个解决方案,但是方案一有风险,可能导致系统崩溃; 方案二需要给要执行文件的源代码,比较麻烦。
最后采用了看雪论坛给出的解决方案(https://bbs.pediy.com/thread-206084.htm):
该方案中给出了一个自定义的linker,把这个linker push到手机上后用该linker加载二进制文件(需要给linker也添加可执行权限):
linkerPath/b gdbpath/gdbserver
然后就可以在android上使用gdb了。
Android安装GDB/GDB server相关推荐
- Android之gdbserver/gdb调试
1.查看cameraserver的pid # adb shell ps |grep cameraserver cameraserver 237 1 144332 94532 ptrace_sto 00 ...
- PostgreSQL源码学习(一)编译安装与GDB入门
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 PostgreSQL源码学习(一)编译安装与GDB入门 前言 一.安装PostgreSQL 1.获取源码 2.配置 3.编译 3.安装 ...
- postgresql源码学习(一)—— 源码编译安装与gdb调试入门
一. postgresql源码编译安装 因为只是用来调试的测试环境,把基本的软件装好和库建好就可以,一切从简. 1. 创建用户和目录 mkdir -p /data/postgres/base/ mkd ...
- android 关闭jack_编译Android时禁用Jack Server
编译Android时禁用Jack Server 2017-07-24 15:29:43 +08 字数:818 标签: Android 本文的代码与方法,基于Android O(8.0). 简介 ¶ J ...
- 通过网络安装VMware ESX Server 5
VMware ESX Server的宿主系统是基于Linux定制开发的,所以,它也和所有的Linux系统一样,除了支持光盘引导安装外,还支持基于PXE的网络引导与安装.在VMware ESX Serv ...
- 安装Autodesk Vault Server 总提示需要重启计算机?
我在安装Autodesk Vault Server 2013时发现一个怪异的现在,即便是我刚刚重新启动了机器,Vault安装程序也总是提示我需要重新启动Reboot Needed,而且不重启就不能继续 ...
- XamarinSQLite教程下载安装SQLite/SQL Server Compact Toolbox
XamarinSQLite教程下载安装SQLite/SQL Server Compact Toolbox SQLite/SQL Server Compact Toolbox是一个Visual Stud ...
- 安装Windows Storage Server 2008 R2
安装Windows Storage Server 2008 R2 1.WSS2008 R2功能概述 Microsoft近期发布了Windows Storage Server 2008 R2(简称WSS ...
- 安装netframewoMS SQL SERVER 2005安装手记
到了新的单位,开发完全的变了,呵呵,回到了Microsoft的生态系.上来自然是安装开发了,VSSTUDIO2005安装顺利完成,MSDN也顺利安装完毕,3. balna267visualfoxpro ...
最新文章
- VCL 中的 Windows API 函数(6): BeginDeferWindowPos
- Object.defineProperty方法
- 利用阈值分割原理,对给定图像编程实现二值、反二值、截断、反截断、大津阈值、自适应阈值等类型阈值图像分割,给出实现源码和结果图像。
- 我儿子竟跟男孩子抱在一起
- Ubuntu下映射串口设备到docker
- c++位运算_最全位运算总结
- 去掉serialVersionUID的警告
- 数理统计 —— 总体、样本、统计量及其分布
- FME转换器 正则字符查找(StringSearcher)
- ThinkPHP商城实战
- 云宏武汉大学国际软件学院桌面云
- html版贪吃蛇的项目计划书,自动贪吃蛇.html
- 第05章 图形基础
- 好的plm软件有哪些?plm软件排行榜
- 深度测评:贪心AI课程到底怎么样?
- 开源地图MapBox自定义(二):基本概念
- Efficient Fully Homomorphic Encryption from (Standard) LWE 论文理解
- Debian修改时区
- LQ-630K打印发票右边打不全?
- Hisi3516交叉编译ffmpeg支持h264编码