移动设备中导入gdb调试工具
(1)概述
接ADB调试桥安装(方式一),ADB调试桥安装好了后一般的移动设备内都不含有gdb工具,
要想使用gdb工具可以借助adb的push参数进行上传。
gdb分为gdb客户端和服务端,文件可以从点击android-gdb-6.8下载。
下载后为文件夹android-gdb-6.8,包含文件gdb和gdbserver。
(2)使用
- 借助刷机精灵的工具-> Adb命令行进入

- 点击Adb命令行进入如下页面

- 将保存在D盘根目录下的adb和adbserver上传到设备的/system/bin目录下
C:\Program Files (x86)\Shuame\4.0.7.207>adb push D:\gdb /system/bin
KB/s ( bytes in .451s) C:\Program Files (x86)\Shuame\4.0.7.207>adb push D:\gdbserver /system/bin
KB/s ( bytes in .092s)
- 查看文件是否已上传到指定目录
C:\Program Files (x86)\Shuame\4.0.7.207>adb shell
shell@G808_3G:/ $ su
su
root@G808_3G:/ # cd /system/bin
cd /system/bin
root@G808_3G:/system/bin # ll gdb*
ll gdb*
-rw-rw-rw- shell shell -- : gdb
-rw-rw-rw- shell shell -- : gdbserver
- 确认gdb命令是否可用,提示权限拒绝...
root@G808_3G:/system/bin # ./gdb
./gdb
k_shell/:: ./gdb: can't execute: Permission denied
- 添加可执行权限
root@G808_3G:/system/bin # chmod gdb
chmod gdb
root@G808_3G:/system/bin # chmod gdbserver
chmod gdbserver
root@G808_3G:/system/bin # ll gdb*
ll gdb*
-rwxrwxrwx shell shell -- : gdb
-rwxrwxrwx shell shell -- : gdbserver
- 添加了执行权限后,gdb已可用
root@G808_3G:/system/bin # ./gdb
./gdb dlopen failed on 'libthread_db.so.1' - libthread_db.so.: cannot open shared object file: No such file or directory
GDB will not be able to debug pthreads. GNU gdb 6.8
Copyright (C) Free Software Foundation, Inc.
License GPLv3+: GNU GPL version or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-none-linux-gnueabi".
(gdb)
移动设备中导入gdb调试工具的更多相关文章
- 使用 Strace 和 GDB 调试工具的乐趣
编写 UNIX® 系统程序充满乐趣,并且具有教育意义.使用 UNIX strace 工具和 GDB(GNU 项目调试工具),您可以真正地深入研究系统的功能,并了解组成这些功能的各种各样的程序.同时使用 ...
- Linux环境下的GCC编译器与GDB调试工具介绍
假如现在我们有如下代码需要编译运行和调试.文件名为:test.c #include <stdio.h> int main() { int day, month, year, sum, le ...
- 从android设备中提取内核
背景 CVE-2013-2597 是高通 msm_acdb 设备驱动的一个 copy_from_user 栈溢出,利用要用到ROP.f101的漏洞利用介绍中,用到几处Gadgets,显然要根据acdb ...
- GDB调试工具总结
程序调试的基本思想是“分析现象->假设错误原因->产生新的现象去验证假设”这样一个循环过程,根据现象如何假设错误原因,以及如何设计新的现象去验证假设,需要非常严密的分析和思考.程序中除了一 ...
- Gdb调试工具/ Makfile项目管理
gdb调试工具 gcc -g main.c -o main 常用命令 命令 简写 作用 help h 按模块列 ...
- 【Linux】GDB调试工具
GDB调试工具 Linux中包含一个很强大的调试工具GDB(GNU Debuger),可以用它来调试C和C++程序. 一. GDB的主要功能有: 设置断点,当程序运行到断点处暂停 显示变量的值,可以打 ...
- GDB调试工具、动态加载、内存管理(day04)
一.程序中的错误处理 在系统中定义了一个全局变量errno.在这个全局变量中存放着系统调用或者库函数出错的信息(错误编号).然后根据错误编号获取错误信息. 举例说明: 打开一个文件,如果这个文件不存在 ...
- Cesium中导入三维模型方法(dae到glft/bgltf)[转]
Cesium中导入三维模型方法(dae到glft/bgltf) Cesium中目前支持gltf和bgltf两种格式.“gltf是khronos组织(起草OpenGL标准的那家)定义的一种交换格式,用于 ...
- 从Android设备中提取内核和逆向分析
本文博客链接:http://blog.csdn.net/qq1084283172/article/details/57074695 一.手机设备环境 Model number: Nexus 5 OS ...
随机推荐
- Linux下各硬件装置的文件名
Linux对计算机各组件/装置的分辨,是和Windows系统完全不一样的!因为各个组件/设备在Linux上都是一个文件!因此,我们在认识各项设备时一定要学习Linux的设备文件名. 众所周知,Linu ...
- 11.9Daily Scrum
人员 任务分配完成情况 明天任务分配 王皓南 实现网页上视频浏览的功能.研究相关的代码和功能.823 数据库测试 申开亮 实现网页上视频浏览的功能.研究相关的代码和功能.824 实现视频浏览的功能 王 ...
- 向Array中添加插入排序
插入排序思路 从第二个元素开始和它前面的元素进行比较,如果比前面的元素小,那么前面的元素向后移动,否则就将此元素插入到相应的位置. 插入排序实现 Function.prototype.method = ...
- sql中having的使用
where 和having有什么区别? where 是group by之前进行筛选,having是group by 之后进行统计的筛选,一般having会和group by一起使用,结合聚合函数,统计 ...
- UVALive - 7368 Airports DAG图的最小路径覆盖
题目链接: http://acm.hust.edu.cn/vjudge/problem/356788 Airports Time Limit: 3000MS 问题描述 An airline compa ...
- Leetcode#146 LRU Cache
原题地址 以前Leetcode的测试数据比较弱,单纯用链表做也能过,现在就不行了,大数据会超时.通常大家都是用map+双向链表做的. 我曾经尝试用C++的list容器来写,后来发现map没法保存lis ...
- Swift-6-函数
// Playground - noun: a place where people can play import UIKit // 定义和调用函数 func sayHello(personName ...
- JavaScript之表单验证讲解
JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. JavaScript 表单验证 JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些 ...
- linux yum 命令 详解
linux yum命令详解 yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能 ...
- VSync Count 垂直同步
原地址:http://blog.csdn.net/yesy10/article/details/7794556 Unity3D中新建一个场景空的时候,帧速率(FPS总是很低),大概在60~70之间.一 ...