`

gdb cannot exec /bin/sh on android local terminal

 
阅读更多

 

http://letsgoustc.spaces.live.com/Blog/cns!89AD27DFB5E249BA!943.entry

 

Cross-compile GDB 6.8 for Android

Step1: Download gdb and arm cross-compile toolchain.
The following assumes you extract the arm cross-compile toolchain into /usr/local/arm-2008q3/.
$export PATH=$PATH:/usr/local/arm-2008q3/bin
 
Step2: Download and compile ncurses.
$tar zxvf ncurses-5.7.tar.gz
$cd ncurses-5.7
$./configure --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi --prefix="$HOME/install"
$sudo cp ~/install/lib/libncurses.a /usr/local/arm-2008q3/arm-none-linux-gnueabi/libc/usr/lib
$sudo cp ~/install/include/ncurses/ /usr/local/arm-2008q3/arm-none-linux-gnueabi/libc/usr/include -rf
This step is to fix the compile warning "configure: error: no termcap library found ". Although GDB complain no termcap, actually it needs libncurses. All we did is to let arm-none-linux-gnueabi toolchain can find the library and header files. The misterious directory is found by:
$arm-none-linux-gnueabi-gcc -print-search-dirs
 
Step3: Configure and Make GDB
$tar zxvf gdb-6.8.tar.gz
$cd gdb-6.8
$./configure --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi LDFLAGS="-static"
$make
Now you should find gdb and gdbserver. It can run on Android. We must add the above LDFLAGS to let gdb statically linked, otherwise it cannot run on Android.

Step4: Run GDB on board
#export SHELL=/system/bin/sh
#gdb XXX
The SHELL env is set to fix the runtime error "Cannot exec /bin/sh: No such file or directory. ", so that GDB can work now.
分享到:
评论

相关推荐

    嵌入式軟體 開發工具 GDB/UBOOT/ECOS

    嵌入式軟體開發工具 嵌入式軟體 開發工具 GDB/UBOOT/ECOS

    VisualGDB 5.6 R9//支持VS2008-VS2022

    VisualGDB 是 Visual Studio 的一个非常强大的扩展,它允许您调试或调试嵌入式系统。这个程序有一个非常有吸引力的用户界面,它具有许多用于调试或调试代码的功能。VisualGDB 还有一个向导,可以帮助您调试程序并为...

    gdb.exe文件

    1. **安装MinGW和gdb**:确保MinGW已经正确安装,并将gdb.exe添加到bin目录。 2. **配置环境变量**:将MinGW的bin目录添加到系统PATH环境变量。 3. **编译带有调试信息的代码**:使用-g选项编译代码,以便GDB可以...

    aarch64-linux-android-gdb

    aarch64-linux-android-gdb 可调试arm64位内核的工具,目前自己测试可用

    gdb porting

    需要注意的是,为了避免执行时出现“Cannot exec /bin/sh: No such file or directory”错误,可以通过设置环境变量`SHELL`来指定shell路径: ```bash # export SHELL=/system/bin/sh # gdb XXX ``` 至此,GDB成功...

    Linux GDB C/C++调试基础与提升课程

    分享一套课程——Linux GDB C/C++调试基础与提升视频课程,提供源码+PPT下载。

    GDB安装步骤,详细步骤

    sudo ln -s /usr/local/gdb/bin/gdb /usr/bin/gdb ``` 7. **验证安装** 安装完成后,通过运行`gdb --version`来验证GDB是否成功安装,并查看其版本信息。 8. **设置环境变量** 如果你发现GDB无法调试某些动态...

    aarch64-linux-android-gdb.zip

    《深入解析aarch64架构下的Android GDB调试技术》 在移动设备和嵌入式系统领域,aarch64架构已经成为主流,特别是在Android平台上,它为开发者提供了强大的64位计算能力。与此同时,为了更好地调试和优化软件,理解...

    android-debug.tbz

    Android调试用的gdb 用adb push gdb /data/bin把gdb push到手机,然后运行就可以。

    Linux编程可能需要的工具(GCC/GDB/vim/makefile)

    1.GCC 中文手册 2.gdb手册(debuging_with_gdb)(中文) 3.GDB用户手册(英文)4.GNU+make中文手册 5.Vim用户手册中文版7.2 6.跟我一起写 Makefile 本着开源分享的精神,从网络搜索而来,仅供参考,版权归原作者所有。...

    GDB调试详细命令

    GDB详细手册,文档内部分内容: //查看运行中的线程 (gdb) info thread //查看线程 (gdb) thread <n> //切换为线程...(gdb) set scheduler-locking off|on|step //只有当前函数,当前线程执行 完整版本请下载该手册!

    使用eclipse/ndk-gdb对java/native code联合调试

    我们首先想到的是ndk-gdb,ndk是google提供的用来native code开发的,ndk-gdb使用来调试native code的。 我们还知道eclipse是用来调试java code的,它不能直接调试native code。 如果能将二者结合起来,一边用...

    android安装gdb说明

    ### Android安装GDB/GDBserver知识点详解 #### 一、引言 在Android开发过程中,开发者经常需要对应用程序或系统层代码进行调试。对于应用程序级别的调试,通常使用Android Studio集成的开发工具即可轻松完成;而...

    android6.0适用gdb/gdbserver以及linker

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

    编译安装gdb+insight和gdbserver远程调试

    luther@gliethttp:~/gdb-6.8/gdb/gdbserver$ make CC=/usr/local/arm-linux/bin/arm-linux-gcc ``` 2. 编译完成后,将生成的gdbserver可执行文件复制到目标开发板上。 远程调试的关键步骤在于连接GDB和GDBServer。...

    ubuntu 20.04 下安装arm-linux-gnueabi和编译对应的GDB.docx

    GDB的最新版本可以在[http://ftp.gnu.org/gnu/gdb/](http://ftp.gnu.org/gnu/gdb/)找到。假设你下载的是`gdb-9.1.tar.gz`,可以按照以下步骤进行编译安装: ```bash # 解压源代码 tar -xvf gdb-9.1.tar.gz # 创建...

    gdb-7.6.1-1-mingw32-bin.tar.rar

    安装MinGw报错无法下载gdb-7.6.1-1-mingw32-bin.tar.lzma 。可以下载这个文件,把其中解压出来的gdb.exe放在MinGw/bin目录下即可。注意解压lzma文件需要使用特殊软件,如:“7-zip”。

    Linux开发入门:使用gdb调试C/C++入门教程

    GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 像所有的调试器一样,GDB可以让你调试一个程序,包括让程序在你希望的地方停下,此时你可以查看变量、...

    arm-linux-gdb

    安装完成后,可以在`/usr/local/bin`目录下找到编译好的`arm-linux-gdb`。 #### 使用ARM-Linux-GDB进行调试 1. **启动GDB Server** 假设目标机IP地址为192.168.1.7,宿主机IP地址为192.168.1.17,那么可以通过...

    aarch64-linux-android-4.9

    标题中的"aarch64-linux-android-4.9"是一个针对Android平台的交叉编译工具链的标识符,它主要用于在非Android系统(如x86架构的Linux或Windows)上构建适用于Android设备的ARM64架构(aarch64)的应用程序和库。...

Global site tag (gtag.js) - Google Analytics