移动设备中导入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 ...
随机推荐
- postmortem report of period M1
一.设想和目标 1.我们的软件主要要解决学长设计的学霸系统中视频及文档的浏览功能问题. 2.时间相对充裕.不过对于我们这些零基础的人来说还是比较困难. 3.我们团队中不同意见通常会进行进一步讨论,说出 ...
- 遗传学详解及Matlab算法实现
遗传学算法概述 从之前转载的博客<非常好的理解遗传算法的例子>中可以知道,遗传学算法主要有6个步骤: 1. 个体编码 2. 初始群体 3. 适应度计算 4. 选择运算 5. 交叉运算 6. ...
- java 多个设备,锁定先后顺序
场景图: 4台android设备需要被锁定顺序,下次的时候按顺序socket推送数据到这4台不同的内容.当有新的一台机器加入时,如上图的E,则插入到原位置为C的地方.具体代码如下: public st ...
- Hibernate中启用日志
Problem How do you determine what SQL query is being executed by Hibernate? How can you see the Hibe ...
- python 字典列表排序operator.itemgetter()
举例: import operator x = [{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}] sorted_x = sorted(x, ...
- 《我是IT小小鸟》读书笔记
转眼间,大学的第二学期悄悄来临了,老师给我们布置了一道原本我以为很无趣的题目----写<我是IT的读书笔记>,但是我读了<我是IT小小鸟>这本书后,令我受益匪浅:五个人,每个人 ...
- 【HDOJ】【3480】Division
DP/四边形不等式 要求将一个可重集S分成M个子集,求子集的极差的平方和最小是多少…… 首先我们先将这N个数排序,容易想到每个自己都对应着这个有序数组中的一段……而不会是互相穿插着= =因为交换一下明 ...
- 快速幂取模 分类: ACM TYPE 2014-08-29 22:01 95人阅读 评论(0) 收藏
#include<stdio.h> #include<stdlib.h> //快速幂算法,数论二分 long long powermod(int a,int b, int c) ...
- JAVA 对象数组,加载图片实例 分类: Java Game 2014-08-14 16:57 80人阅读 评论(0) 收藏
主函数: package com.mywork; import java.awt.Color; import java.awt.Image; import javax.swing.ImageIcon; ...
- c++11 lambda(匿名函数)
#include <iostream> #include <functional> using namespace std::placeholders; //lambda即匿名 ...